Nginx Regex URL重写不起作用
当我所有其他URL重写都能完美工作时,这究竟为什么不起作用:Nginx Regex URL重写不起作用,regex,nginx,Regex,Nginx,当我所有其他URL重写都能完美工作时,这究竟为什么不起作用: rewrite "^/search/?\?q(.+)$" /search.php?q$1 break; 我确实重新启动了nginx,所有这些。重写只在uri路径上起作用。您不需要重写查询字符串部分,因为默认情况下它会自动附加到新的url rewrite /search /search.php break; 例如,/search?q=something将被写入/search.php?q=something 有关更多详细信息,请参阅。
rewrite "^/search/?\?q(.+)$" /search.php?q$1 break;
我确实重新启动了nginx,所有这些。重写只在uri路径上起作用。您不需要重写查询字符串部分,因为默认情况下它会自动附加到新的url
rewrite /search /search.php break;
例如,/search?q=something将被写入/search.php?q=something
有关更多详细信息,请参阅。下面这一行回答了您的问题
此外,“重写”仅在路径上操作,而不在参数上操作
你的URL看起来怎么样?预期的结果是什么?我正在尝试将
search?q=which
或search/?q=which
更改为search.php?q=which
这应该可以工作。你犯了什么错误?另外,请尝试使用\1
代替$1