web-dev-qa-db-ja.com

/ directory /のすべてのページをhtaccessでWebページにリダイレクトする方法

Htaccessを使用して、1つのディレクトリにあるサイトのすべてのページを特定のページにリダイレクトしようとしています。

例のようなもの

  • example.com/forums/
  • example.com/forums/pages
  • example.com/forums/subdirectory/
  • example.com/forums/subdirectory/page.html

基本的に/forums/にあるもののみ

example.com/groups/subdirectory/

それは永久的な変化でしょう。基本的に、サイトを移行したオークションから新しいドメインを購入し、以前にこのドメインにいた人へのリンクから多くの404を取得しています。

1
Malice Ratatosk

誤解していない場合は、次のように簡単に実行できます。

RedirectMatch /forums/.* https://example.com/groups/subdirectory/

ドットは「任意の文字」を意味し、アスタリスクは「時間0以上の数字」を意味し、参照先の場所は常に完全に記述する必要があります。

1
Frank Conijn

サイトを移行したオークションから新しいドメインを購入しましたが、以前にこのドメインにいた人へのリンクから多くの404を取得しています。

この場合、404応答はほぼ間違いなくcorrect応答です。ユーザーと検索エンジンを修正します。 (より強力で意図的な「410 Gone」応答を送信することもできます。結局のところ、これらのページは戻ってこないようです。)

コンテンツが別のURLに移動した場合、または新しいURLに類似または関連するコンテンツがある場合にのみ、リダイレクトは本当に意味があります。

  • ユーザーを、期待しているコンテンツとは関係のない完全に異なるページにリダイレクトするのは混乱を招きます。その結果、ほとんどのユーザーは「バウンス」するだけです。より良い応答は、ページがもはや存在しない理由を説明し、他の方法でユーザーの注意を引き付けようとするカスタマイズされた404です。

  • 検索エンジンボットをまったく異なる/無関係なページにリダイレクトすることは、ソフト404と見なされる可能性があります。しかし、多くのURLを単一のページにリダイレクトすることは、ソフト404と見なされる可能性が非常に高くなります。

そのため、このインスタンスでリダイレクトしても何も得られず、後戻りする可能性さえあります。

1
MrWhite