论坛风格切换
  • 3183阅读
  • 0回复

[nginx]nginx和apache--rewrite规则转化 [复制链接]

上一主题 下一主题
离线谯周
 

发帖
142
金币
0
威望
55
只看楼主 倒序阅读 使用道具 楼主  发表于: 2011-07-14

在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.sudone.com/nginx/nginx_rewrite_last_break.html

快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
提到某人:
选择好友
上一个 下一个