リダイレクトしたい:
something.com/search?keywords='value'
に
something.com/search?q='value'
私の Nginx 設定は次のとおりです:
location ~ /search {
if ($args ~* "keywords=(.*)") {
rewrite ^.*$ /search?q=$arg_keywords permanent;
}
}
しかし、q
リダイレクト時にパラメータは空になります。
なにが問題ですか?
答え1
しかし、リダイレクト時に q パラメータは空になります。
その問題は見当たりません。記述どおりの構成をテストすると、元のkeywords='value'
URI が書き換えられた URI に追加されるため、リダイレクト ループが発生します。
書き換えられた URI に をrewrite
追加することで、元のパラメータが含まれないようにすることができます。?
例えば:
rewrite ^ /search?q=$arg_keywords? permanent;
見るこのドキュメント詳細については。