作者:蜜小嘟_546 | 来源:互联网 | 2014-05-28 09:40
在nginx中这样写规则rewrite^/([0-9]{5}).html$/x.jsp?id$1last;是无法启动的,解决的办法是加上两个双引号rewrite^/([0-9]{5}).html$/x.jsp?id$1last;这样就OK了,应该可以说是完全兼容apache的语法的,只需要改下RewriteRule为R
在
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