当前位置:  首页  >  服务器技术  >  Linux/unix  >  Linux教程

apacherewrite转nginx经验--对大括号的支持

在nginx中这样写规则rewrite^([0-9]{5}).html$x.jsp?id$1last;是无法启动的,解决的办法是加上两个双引号rewrite^([0-9]{5}).html$x.jsp?id$1last;这样就OK了,应该可以说是完全兼容apache的语法的,只需要改下RewriteRule为Rewrite,后面的

在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标签中执行
 

吐了个 "CAO" !
扫码关注 PHP1 官方微信号
PHP1.CN | 中国最专业的PHP中文社区 | PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | PHP问答
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved PHP1.CN 第一PHP社区 版权所有