特定のURLからアクセスされた場合は内容を。
アドレス直入力された場合は別のページをリダイレクト。
このような感じにしたいのです。
よろしくお願いします。
「リファラ」というものを使って判断します。
javascript が使えるところなら、こんな感じ。
<script> var re_myhost = /^http:\/\/q.hatena.ne.jp/; if (! re_myhost.test(document.referrer)) { document.location.href = "http://www.hatena.ne.jp"; } </script>
q.hatena.ne.jp から飛んできたのではなければ、www.hatena.ne.jp に飛ばす、という書き方です。
Webサーバ (Apache) の設定がいじれるなら、mod_rewrite というのを .htaccess に書くことでも実現できます。
RewriteEngine on RewriteCond %{HTTP_REFERER} !^ http://q\.hatena\.ne\.jp/.*$ RewriteRule ^(.+)$ http://www.hatena.ne.jp
先程の javascript の場合と、同じことをやっているつもり。
他にも php なんかでも判断できます。
'HTTP_REFERER'
http://php.net/manual/ja/reserved.variables.server.php
現在のページに遷移する前にユーザーエージェントが参照していた ページのアドレス(もしあれば)。これはユーザーエージェントに よってセットされます。全てのユーザーエージェントが これをセットしているわけではなく、また、HTTP_REFERER を変更する機能を持つものもあります。 要するに、信頼するべきものではありません。
期待しないリファラだったら、meta refresh なタグを埋め込んで飛ばしちゃえば良い。
# 偽装もできちゃうんですけどね (´・ω・`)
ランダムに?それとも端末ごとに?
ランダムやPCと携帯電話のスマホなど端末ごとに表示を変えるのはCSS。
css 端末 振り分けで検索するとデバイスごとに表示を変える方法が出てくる。
「リファラ」というものを使って判断します。
javascript が使えるところなら、こんな感じ。
<script> var re_myhost = /^http:\/\/q.hatena.ne.jp/; if (! re_myhost.test(document.referrer)) { document.location.href = "http://www.hatena.ne.jp"; } </script>
q.hatena.ne.jp から飛んできたのではなければ、www.hatena.ne.jp に飛ばす、という書き方です。
Webサーバ (Apache) の設定がいじれるなら、mod_rewrite というのを .htaccess に書くことでも実現できます。
RewriteEngine on RewriteCond %{HTTP_REFERER} !^ http://q\.hatena\.ne\.jp/.*$ RewriteRule ^(.+)$ http://www.hatena.ne.jp
先程の javascript の場合と、同じことをやっているつもり。
他にも php なんかでも判断できます。
'HTTP_REFERER'
http://php.net/manual/ja/reserved.variables.server.php
現在のページに遷移する前にユーザーエージェントが参照していた ページのアドレス(もしあれば)。これはユーザーエージェントに よってセットされます。全てのユーザーエージェントが これをセットしているわけではなく、また、HTTP_REFERER を変更する機能を持つものもあります。 要するに、信頼するべきものではありません。
期待しないリファラだったら、meta refresh なタグを埋め込んで飛ばしちゃえば良い。
# 偽装もできちゃうんですけどね (´・ω・`)
まさにこのようなものを望んでいました。
ご回答ありがとうございました!
まさにこのようなものを望んでいました。
2013/11/26 23:32:38ご回答ありがとうございました!