Skip to content
This repository was archived by the owner on Nov 12, 2024. It is now read-only.
This repository was archived by the owner on Nov 12, 2024. It is now read-only.

使用url rewrite更友好的处理url #41

@xinglie

Description

@xinglie

在magix项目中我们一直使用hash做为url的记录。
当然我们也支持history.pushState来改变url magix中的url解析与处理

最终我们的url处理成path与params 两部分,而在magix项目中,通常path与view一一对应。

比如我们做一个展示用户相册的功能,我们可能这样设计url

  /photo?userId=xxx&page=1&page_size=20

因为我们的模块photo是固定的,变化的只是用户id,所以我们把模块photo设计在path中,变化的userId放在参数中。

看过别的前端或后端web框架的,通常它们都有url重写功能,比如我们把这个url重写成

/xxx/photo?page=1&page_size=20

把用户id放在path中,对于个人用户会更友好一些

在magix当中该如何做呢?

考虑到向前兼容,旧的url我们要仍然支持

参考 UrlRewrite的设计 http://blog.csdn.net/dyllove98/article/details/9281453

在magix的配置项中增加rewrites配置,示例如下

Magix.config({
    rewrites:[{
         from:/$\/(.*)/photo$/,
         to:'photo?user=$1'
    }],
    routes:{
          '/photo':'app/views/default'
    }
});

这样后续即使项目升级,改变了一些url,只要把旧的url重写到新的url上即可。

计划在3.5.3版本中新增该功能,该功能默认不开启

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions