web-dev-qa-db-ja.com

特定のURLと一致しないように既存のhtaccessの書き換えを変更します

たとえば、特定の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を除外するにはどうすればよいですか。私はドル($)が文字列の終わりを示していると思い、このポイント以降は何も無視しますか?

1
zigojacko

ご提案のとおり、これら2つのルールはいずれも/alfred-victoria-blah-blahをリダイレクトできません。そのため、このリダイレクトを実行している他の何かがあるか、以前の(誤った)301リダイレクトがキャッシュされています-ブラウザーのキャッシュをクリアするなどです。

また、これが302リダイレクトではなく301リダイレクトであるかどうかを確認します(これがどこで発生しているかを示すのに役立ちます)。

この場合、古いリダイレクトがキャッシュされたように見えます。

0
MrWhite