0

何千もの不良リンクがあるWebサイトを変換したところ、何万ものインデックスエラーをクリーンアップしてきました。リダイレクト301を使用したものと、リダイレクトマッチを使用したものがあります。しかし、私を困惑させる1つのエラーが発生しています。

.htaccessファイルのこれら2行のコードのいずれか

RedirectMatch 301 /faqs(.*) http://www.belleviewanimalclinic.com/pet-care-faqs/
RedirectMatch 301 /faq(.*) http://www.belleviewanimalclinic.com/pet-care-faqs/

このページを引き起こす

http://www.belleviewanimalclinic.com/denver-veterinarian-articles/faqs-about-pet-dentistry/

ここにリダイレクトされます

http://www.belleviewanimalclinic.com/pet-care-faqs/

/ faqXXXXXXで始まる古いURLがたくさんあり、新しいFAQページにリダイレクトする必要があります。ただし、これを上記の記事に適用したくありません。

RedirectMatchルールを書き直して、リクエストURLの途中ではなく、/ faqで始まるURLのみがリダイレクトされるようにする方法はありますか?

ありがとう!

4

1 に答える 1

1

パスの開始点と一致するようにカレットを使用します。

RedirectMatch 301 ^/faqs?(.*) http://www.belleviewanimalclinic.com/pet-care-faqs/

「s」をオプションにすることで(「?」を続けて)、2つの行を1つにマージしました。カレットはそれを作成する必要があるので、パスは単にそれを含めるのではなく、よくある質問で始まる必要があります。

注:一致文字列は通常、最初のスラッシュの後に開始するため、最初に最初のスラッシュを削除しましたが、RedirectMatchesよりもRewriteRulesに慣れており、動作が異なる可能性があると思います。

于 2013-02-07T21:45:08.087 に答える