-
Notifications
You must be signed in to change notification settings - Fork 141
test rewrite
fansekey edited this page Apr 28, 2015
·
7 revisions
FIS 的 rewrite 模块。用于本地浏览时,url的转发,覆盖 fis 默认的 url 规则,模拟线上 url 规则,ajax请求,文件转发等。
在模块目录下通过配置文件 server.conf 文件进行配置,配置方式是:
rewrite和redirect开头的会被翻译成一条匹配规则,自上而下的匹配。所有非rewrite和redirect开头的会被当做注释处理。
rewrite : 匹配规则后转发到一个文件
template : 匹配规则后转发到一个模板文件,但url不改变,只针对模板
redirect : 匹配规则后重定向到另一个url
rewrite ^\/news\?.*tn\=[a-zA-Z0-9]+.* app/data/news.php
template ^\/(.*)\?.* /home/page/index.tpl
redirect ^\/index\?.* /home/page/index
- 配置文件每一行为一条规则。
- 格式为:匹配类型 (空格) 匹配url正则 (空格) 命中正则后的目的文件路径或者url。 rewrite、redirect和template是fis默认的三种匹配类型。
- rewrite : 匹配规则后转发到一个文件,同时url修改为访问文件的url路径。 目的文件路径的根目录(root)是fis本地调试目录(可以输入命令 $ fis server open 打开噢),配置文件从根目录之后写即可。 其中,转发到php文件,php会执行。转发到其他文件,会返回文件内容。例如:可以用rewrite模拟ajax请求,返回json数据~
- rewrite的目的文件,默认需要经过fis release之后投送到fis调试目录。直接转发到本地文件,该文件可能没有被fis处理,可能会出现诡异问题噢~
- template : 为了完全模拟线上url,可通过template配置对应的url规则对应相应的模板进行访问,访问url不变。
- redirect : 匹配规则后重定向到另一个url。
注意:
- server.conf专门配置转发规则,文件名不能改哦
- 项目很大,多模块时,一个模块配置server.conf就可以啦,比如在common模块配置全站的转发规则,否则会覆盖
- 所有非rewrite、template和redirect开头的会被当做注释处理。