2

私が働いている会社は最近、WordPress で構築されたサイトを引き継いだようです。どうやら Google は、末尾に / が付いたいくつかのページをインデックスに登録したようです。これは、前の会社のプログラマーがサイトに URL からの情報を要求するようにさせたという事実と相まってです。

そのため、Google は domain.com/featured-something/something/ をインデックスに登録しており、これらのページを domain.com/featured-something/something/?something=something&somethingelse=something else にリダイレクトする必要があります。

リダイレクト用にこのコードを試しましたが、末尾のスラッシュなしでしか機能しません:

RewriteRule ^featured-something/something?$ http://domain.com/featured-something/something/?start=0&pt=&bed=&bat=&subdiv=Aqua&sub=&pr=&display=quick [R=301,L]

すべてのルールの前にいくつかのコードを追加して、最初にスラッシュなしのバージョンにリダイレクトし、次にこれらをリダイレクトしましたが、無限のリダイレクト ループが作成されました。

誰かが私を助けてくれますか?

ありがとう

カール

ps 残念ながら、GET 文字列は異なる URL ごとに一意であるため、URL ごとにルールを作成する必要があります。

4

1 に答える 1

0

まあ、ここに投稿した後でも、検索をあきらめたことはありません..少し洗練されていないように見えますが、それを機能させる方法を見つけました(別のスタックオーバーフローの質問/回答に感謝します)私がしなければならなかったRewriteRuleの前にクエリ文字列で URL を書き換えないように RewriteCond を追加します。

RewriteCond %{QUERY_STRING} !([^&]+&)*start=0(&.*)?$

私も変更しましたか?/へのルールで

無限ループがなくなり、Google のインデックスに登録されたすべてのページが適切にリダイレクトされます。

于 2013-03-01T14:20:50.327 に答える