三里屯摇滚 发表于 2011-09-01 15:00

发现了一个nginx的rewrite小问题

发现了一个nginx的rewrite小问题


先声明下, 是小水水发现的, 偶只是配合一下下

随便找一条nginx的rewrite规则, 例如discuz 6.x用的

rewrite ^(.*)/thread-(+)-(+)-(+)\.html$ $1/viewthread.php?tid=$2&extra=page\%3D$4&page=$3 last;

其实这条规则的不对的, 因为nginx的rewrite的后半部分URL实际地址那里应该是不支持正则的, 也就是说转义符是没必要的, 不然就会造成从"\"开始就断了URL重写

上面一条正确的写法应该是:

rewrite ^(.*)/thread-(+)-(+)-(+)\.html$ $1/viewthread.php?tid=$2&extra=page%3D$4&page=$3 last;

引用地址:http://www.hao32.com/unix-linux/53.html

wlforyou1 发表于 2011-09-13 09:18

/viewthread.php?tid=$2&extra=page%3D$4&page=

这行就是dz的真实地址呀。
页: [1]
查看完整版本: 发现了一个nginx的rewrite小问题