0

他のすべての URL 書き換えが完全に機能するのに、一体なぜこれが機能しないのですか。

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

私はnginxとそのすべてを再起動しました。

4

1 に答える 1

2

書き換えは uri パスでのみ機能します。デフォルトでは新しい URL に自動的に付加されるため、クエリ文字列部分を書き直す必要はありません。

rewrite /search /search.php break;

たとえば、/search?q=something は /search.php?q=something に書き込まれます。

詳細については、 http://wiki.nginx.org/HttpRewriteModule#rewriteを参照してください。以下のこの行はあなたの質問に対処します

また、rewrite はパラメーターではなく、パスに対してのみ動作します。

于 2013-03-10T15:58:20.127 に答える