0
rewrite ^/old-url /new-url permanent; rewrite ^/old-url/old-url-sub /new-url/new-url-sub permanent;
異なる書き換えルールリダイレクト同じURL
にリダイレクトされ
何問題ですか?
rewrite ^/old-url /new-url permanent; rewrite ^/old-url/old-url-sub /new-url/new-url-sub permanent;
異なる書き換えルールリダイレクト同じURL
にリダイレクトされ
何問題ですか?
正規表現^/old-url
は/old-url
と/old-url/old-url-sub
と/old-url/anything-else
と一致しています。
したがって、両方のURIに対して最初のrewrite
ステートメントが呼び出されます。
文字列全体に一致する正規表現を使用する場合は、パターンの前後にアンカーを使用する必要があります。ご存知のように、^
はパターンの前面を固定しますが、$
はパターンの背面を固定します。
試してみてください。
rewrite ^/old-url(/.*)?$ /new-url$1 permanent;
this useful resource on regular expressionsを参照してください:
rewrite ^/old-url$ /new-url permanent;
あなたはxxx
は何であり、あなたがキャプチャして、単一のrewrite
ステートメントを使用します/old-url/xxx
/new-url/xxx
にリダイレクトしようとしていた場合。
^/old-url $/new-url permanentを書き換えます。この行は問題を解決しました。ありがとう – aligokayduman