/ 中存储网

Apache服务器伪静态规则转换Nginx的一些问题

2014-04-08 16:41:01 来源:IT技术网
在nginx中这样写规则 rewrite ^/([0-9]{5}).html$ /x.jsp?id=$1 last;

是无法启动的,解决的办法是加上两个双引号

rewrite "^/([0-9]{5}).html$" /x.jsp?id=$1 last;

这样就OK了,应该可以说是完全兼容apache的语法的,只需要改下RewriteRule为Rewrite,后面的一般可以这样对应改

[R] -> redirect;

[P] -> last;

[R,L] -> redirect;

[P,L] -> last;

[PT,L] -> last;

nginx rewrite中支持4种类型的转向:

跳转型的

redirect:302跳转到rewrite后的地址

permanent:301永久定向到rewrite后的地址,对搜索引擎更友好

代理型的

last:重新将rewrite后的地址在server标签中执行

break:将rewrite后的地址在当前location标签中执行

nginx的last和break的区别可以参考:

http://www.server110.com/nginx/201309/1763.html