たとえば、
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指定しただけだと、無限ループに陥ります。。。
サーバーの設定にも寄るけど、 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]
とすればいいと思います。
www.example.comのIPアドレスが「123.456.789.012」であるなら、同じURLになります。
また、以下の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などでの実現方法は以下の「招かれざる客を追い返す」を見てください。
あー、質問がわかりにくかったようで勘違いさせてしまったようです。申し訳ありません。もちろん、参照する内容は同一のものになります。
ただ、SEO対策などのことを考えて、同じURLをなるべくブックマークしてもらえるように、という話です。
なるほど。
Apacheのモジュールの機能でできるんですね。
ありがとうございます。試してみます。