2017-01-30 7 views

答えて

1

正規表現^/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にリダイレクトしようとしていた場合。

+0

^/old-url $/new-url permanentを書き換えます。この行は問題を解決しました。ありがとう – aligokayduman