変なサブドメインでインデックスされたものをまとめて301リダイレクトをかけたい


ど~しても解決できなかったので質問させてください。
仮に運営しているドメインがhttp://www.exsample.comだったとして
別のドメインで検索エンジンにインデックスされてしまい、それを消すことができません。
レンタルサーバーのマスタードメインのようなものがインデックスされているのです。
これを.htaccess使って301リダイレクトしたいのですが、トップページだけはうまくいって、それより下の階層には適用されません。

RewriteEngine On
RewriteCond %{http_host} ^○○.▲▲▲.jp
RewriteRule ^(.*) http://www.exsample.com/$1 [R=301,L]

http://www.○○.▲▲▲.jpにアクセスするとhttp://www.exsample.com/にリダイレクトされますが、

http://www.○○.▲▲▲.jp/test/
とアクセスすると、
http://www.exsample.com/test/
とならず、
http://www.○○.▲▲▲.jp/test/に普通にアクセスできてしまうのです。
書き方の問題だとは思いますが、よい方法はないですか??

一応このやり方でも、2~3ヶ月すればインデックスは消えるよ・・・みたいなことは書いてあったのですが


回答の条件
  • URL必須
  • 1人2回まで
  • 13歳以上
  • 登録:2010/08/05 15:18:41
  • 終了:2010/08/09 09:17:10

回答(4件)

id:yamaneroom No.1

yamaneroom回答回数1040ベストアンサー獲得回数612010/08/05 17:17:29

ポイント10pt

RewiteRuleが間違っている。

下記のように記す。

RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

http://memorva.jp/memo/linux/mod_rewrite.php

id:pacochi No.2

ぱこち回答回数247ベストアンサー獲得回数1132010/08/05 17:49:20

ポイント56pt

経験談ですが、「test」のディレクトリに「RewriteEngine On」という記述がある .htaccess が存在すると、リダイレクトされないみたいです。

.htaccess は下位のディレクトリの設定が優先されることに関連しているのだと思います。


この場合、「test」ディレクトリの .htaccess に以下のように書き足せば、リダイレクトされるようになりました。

RewriteCond %{http_host} ^www\.○○\.▲▲▲\.jp
RewriteRule .* http://www.exsample.com%{REQUEST_URI} [R=301,L]

あと、細かい話ですみませんが、「^○○.▲▲▲.jp」だと、www.○○.▲▲▲.jp は引っかからないように思えます。

はじめ「^www\.○○\.▲▲▲\.jp」か、「○○\.▲▲▲\.jp」のような書き方をしていたものを、ドメインを伏せる際に書き間違えただけなのかなとも思いましたが。

id:think49 No.3

think49回答回数7ベストアンサー獲得回数22010/08/05 19:34:08

ポイント10pt

$ がないから…かな?

http://hoge.example.com/test/http://example.com/test/ にリダイレクトしたいとして、

RewriteEngine On

RewriteCond %{HTTP_HOST} ^hoge\.exsample\.com$

RewriteRule ^(.*)$ http://example.com/$1 [R=301]

でどうでしょうか。

id:gp334437g4723k87 No.4

gp334437g4723k87回答回数126ベストアンサー獲得回数202010/08/06 19:00:44

ポイント14pt

RewriteRule ^(.*)$ http://example.com/$1 [R=301,NE,L]


で動作するはずです。

そもそもの問題として別のドメインで検索エンジンにインデックスされているものを消したければ、そのサイトで404を返すようにするのが筋です。


301でmod_rewriteをかけるのはドメイン移転の際の手法であり、旧ドメインのインデックスを消したければ旧ドメインの方で404を返すのが手っ取り早い方策となります。


多分、301移転をかけたいのは旧サイトのインデックスを新サイトに移したいとの意図があるのではないかと思いますが、検索エンジンが新サイトを巡回するようになれば、301移転をかける意味はなくなります。また、被リンク数をランクのウェート計算に用いているGoogleのようなロボット検索エンジンの場合、301移転をかけたところで旧サイトの被リンクは旧サイトを指しているままとなりますので、301移転をかけたところで新サイトのランクは上がるといったことはありません。


旧サイトと同じ内容で新サイトとかを立ち上げた場合、被リンク数はゼロからのスタートとなりますので、301移転をかけたところでランクは最初からやり直しとなります。

id:goodbabies

<301でmod_rewriteをかけるのはドメイン移転の際の手法であり、旧ドメインのインデックスを消したければ旧ドメインの方で404を返すのが手っ取り早い方策となります。

本来の質問では想定していませんでしたが、とても参考になりました。ありがとうございます。参考にさせていただきます。

2010/08/09 09:15:58

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません