找到一个好工具,非常简单的就把apache的htaccess转到了nginx下面,转换后的代码放在 location / 里边。
工具的地址是:
http://www.anilcetin.com/convert-apache-htaccess-to-nginx/
apache rewrite转nginx经验–对大括号的支持
在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