Nginx Regex URL重写不起作用

时间:2013-03-10 14:17:08

标签: regex nginx

当我所有其他网址重写完美无缺时,为什么这不起作用:

rewrite "^/search/?\?q(.+)$" /search.php?q$1 break;

我确实重启了nginx以及所有这些。

1 个答案:

答案 0 :(得分:2)

重写仅适用于uri路径。您不需要重写查询字符串部分,因为默认情况下它会自动附加到新的URL。

rewrite /search /search.php break;

例如,/ search?q =会将某些内容写入/search.php?q=something。

有关详细信息,请参阅http://wiki.nginx.org/HttpRewriteModule#rewrite。以下这一行解决了您的问题

  

同样重写只能在路径上操作,而不是参数。