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