たとえば、特定のURLのみを書き換えようとしています:-
(1)書き直したい:-
http://www.example.com/keyword-1
http://www.example.com/keyword-1/sub-keyword
http://www.example.com/keyword-1/?p=50
(2)書き直したくない:-
http://www.example.com/keyword-1-product
これは私がこれまでに持っているものです...
RewriteRule ^/?alfred-victoria$ /brands/alfred-victoria/ [R=301,L]
RewriteRule ^/?alfred-victoria/(.*)$ /brands/alfred-victoria/ [R=301,L]
これらのハンドル(1)は、(2)ではなく、/alfred-victoria-blah-blah
のキーワードで始まるURLも書き換えられます。
上記のルールを変更してこれらのURLを除外するにはどうすればよいですか。私はドル($)が文字列の終わりを示していると思い、このポイント以降は何も無視しますか?
ご提案のとおり、これら2つのルールはいずれも/alfred-victoria-blah-blah
をリダイレクトできません。そのため、このリダイレクトを実行している他の何かがあるか、以前の(誤った)301リダイレクトがキャッシュされています-ブラウザーのキャッシュをクリアするなどです。
また、これが302リダイレクトではなく301リダイレクトであるかどうかを確認します(これがどこで発生しているかを示すのに役立ちます)。
この場合、古いリダイレクトがキャッシュされたように見えます。