問題のURLに丸括弧が含まれている場合、基本的な301リダイレクトをnginxで機能させるのに問題があります。
通常、私はこのタイプの基本的な場所のルール(角かっこなし)を使用します。
location /abc/def {
rewrite /abc/def http://new.domain.com/abc/def/ permanent;
}
上記のように、URLに丸括弧が付いている状況があります。
ソースURL:domain1.com/abc/def(ghi)ターゲットURL:domain2.com/abc/defghi
location /abc/def(ghi) {
rewrite /abc/def(ghi) http://new.domain2.com/abc/defghi permanent;
}
残念ながら、それは最初の例ほど単純ではありませんでした。それ以来、ルールを数回変更して、エスケープ、開いた丸括弧と閉じた丸括弧のurlencoded、括弧での単一文字のキャプチャを許可する正規表現を含めましたが、何も機能しないようです。
経由での脱出:
location /abc/def\(ghi\)
URLに括弧が含まれている場合、301リダイレクトをnginxで機能させるにはどうすればよいですか?