nginx rewrite 规则中关于问号的解决办法
[ 2010-10-19 16:14:23 | 作者: admin ]
服务器转移后,发现很多url rewrite的规则都无法使用,而在apache和IIRF中皆可正常识别。
仔细查看发现时带问号的不行,再goo了下,发现问号后自动一刀切成 $query_string,不进行正则匹配了。
网上找了很久,终于找到可以借鉴的办法,利用 $request_uri 进行初次匹配,获取参数,然后再匹配重写。
千万注意:if 和 ( 之间需要一个空格,不然会无法识别判断语句
代码演示
仔细查看发现时带问号的不行,再goo了下,发现问号后自动一刀切成 $query_string,不进行正则匹配了。
网上找了很久,终于找到可以借鉴的办法,利用 $request_uri 进行初次匹配,获取参数,然后再匹配重写。
千万注意:if 和 ( 之间需要一个空格,不然会无法识别判断语句
代码演示
if ($request_uri ~* "view.aspx\?page=(.*)&fbId=(.*)&Id=(.*)$"){
set $myarg1 $1;
set $myarg3 $3;
rewrite (.*) http://bbs.nantaihu.com/read.php?tid=$myarg3&page=$1 last;
}
set $myarg1 $1;
set $myarg3 $3;
rewrite (.*) http://bbs.nantaihu.com/read.php?tid=$myarg3&page=$1 last;
}
[最后修改由 admin, 于 2010-10-19 16:23:16]
评论Feed: http://blog.xg98.com/feed.asp?q=comment&id=1510
这篇日志没有评论。
此日志不可发表评论。