我要把 http://www.abc.com/a/b?id=123 的一条链接转换成 http://www.abc.com/p-123.html 想当然就以为问号还是按照普通字符用正则表达式转义来处理,类似 b\?id= 这样,谁知道根本不起作用。 后来在谷歌帮助下才发现原来问号在nginx中是有特殊逻辑的,它用$query_string来表示问号以后的字符,即"id=123" 这样就好办了,换个方式就ok了。 最后是这样写的:
if ($request_uri ~* "^/a/b\?id=(\d+)$") { 注意,set $myarg1 $1; 这句话不能少,不能直接用$1,会出错的。 (责任编辑:IT) |