サイト訪問者を全て同じURLに誘導する方法を教えてください。

たとえば、
 http://www.example.com/
 http://www.example.com/index.html
 http://123.456.789.012/
 など、一つのページにつき複数のURLでブックマークやリンクなどをされることが多いのですが、どのURLに来られても、
 http://www.example.com/
 のURLのほうに統一して誘導したいと考えています。
 宜しくお願い致します。

※念のために書いておきますと…
<meta refresh=....>でURL指定しただけだと、無限ループに陥ります。。。

回答の条件
  • 1人2回まで
  • 登録:2007/04/14 13:18:33
  • 終了:2007/04/21 13:20:02

回答(2件)

id:b-wind No.1

b-wind回答回数3344ベストアンサー獲得回数4402007/04/14 13:36:01

ポイント35pt

サーバーの設定にも寄るけど、 mod_rewrite がつかえるなら .htaccess に、

RewriteEngine on

RewriteCond %{HTTP_HOST}  ^\d+\.\d+\.\d+\.\d+
RewriteRule ^(.*)$ http://www.example.com/$1 [R,L]

RewriteRule ^/index.html http://www.example.com/$1 [R,L]

とすればいいと思います。

Apache module mod_rewrite

id:complexequality

なるほど。

Apacheのモジュールの機能でできるんですね。

ありがとうございます。試してみます。

2007/04/17 12:15:18
id:kamatamadai No.2

鎌玉 大回答回数30ベストアンサー獲得回数32007/04/17 02:28:31

ポイント35pt

www.example.comのIPアドレスが「123.456.789.012」であるなら、同じURLになります。

http://www.example.com/

http://123.456.789.012/

また、以下のURLも、Webサイトの「規定のドキュメント(URLでファイル名を指定していない場合に、捜しにいくドキュメント)」

の設定が「index.html」の場合は、上記と同じURLを指しています。

http://www.example.com/index.html


以下のように、下位ディレクトリのページへの直リンクを禁止という話ではないでしょうか?

http://www.example.com/a.html」に直リンクされて、直接アクセスされてもトップページへリダイレクトしたい


そうならば、以下の方法があります。


・Cookieで制御する方法

フリーのApacheサーバーのモジュール「mod_deny_deeplink.c」

http://module.jp/mod_deny_deeplink/


・JavaScriptなどで制御する方法

JavaScriptで「ディープリンク禁止」

http://putih.xrea.jp/wisdom/nodeep2.php

PHPなどでの実現方法は以下の「招かれざる客を追い返す」を見てください。

http://putih.xrea.jp/

id:complexequality

 あー、質問がわかりにくかったようで勘違いさせてしまったようです。申し訳ありません。もちろん、参照する内容は同一のものになります。

 ただ、SEO対策などのことを考えて、同じURLをなるべくブックマークしてもらえるように、という話です。

2007/04/17 12:14:29

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

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

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

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

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