同一URLでPCサイトとスマホサイトを振り分ける場合、インターネットのネットワーク上にキャッシュされている
データーが利用されることがあるので、うまく振り分けられないという可能性がある
その場合の対処法として「HTTPヘッダーでVaryを指定」がある
.htaccessファイルに以下を記述する (ユーザーエージェントによって内容が変わるという場合)
Header set Vary User-Agent
同一URLでPCサイトとスマホサイトを振り分ける場合、インターネットのネットワーク上にキャッシュされている
データーが利用されることがあるので、うまく振り分けられないという可能性がある
その場合の対処法として「HTTPヘッダーでVaryを指定」がある
.htaccessファイルに以下を記述する (ユーザーエージェントによって内容が変わるという場合)
Header set Vary User-Agent
この設定で、以下のアクセスのみを許可することが出来ます。
・IPアドレス= 111.222.333.444 および 123.45.6.*
・ホスト名= *hoge.ne.jp*
※ホスト名を指定することによって特定のプロバイダーからのアクセスのみ許可することもできます。
(ocn.ne.jpなど)
order deny,allow deny from all allow from 111.222.333.444 allow from 123.45.6. allow from hoge.ne.jp
wordpressでの記述例 (ログイン画面へのアクセス制限)
# BEGIN kdcs <Files wp-login.php> Order deny,allow Deny from all Allow from xxx.xxx.xxx.xxx Allow from hoge.ne.jp </Files> # END kdcs
他のレンタルサーバーでは.htaccessへの記述だけでhtmlに記述したphpを動かすことができるが
さくらインターネットのサーバーでは以下のファイルが必要
php.cgiファイル(パーミッション755)
#!/bin/sh exec /usr/local/bin/php-cgi
.htaccessファイル(パーミッション)
Action myphp-script /php.cgi AddHandler myphp-script .php .html
特定のIPアドレスだけ別ページを表示させるためmod_rewriteを利用して.htaccessに記述
内容:特定IPをsample.htmlに誘導
{REMOTE_ADDR}はIPアドレスを{REMOTE_HOST}はドメイン名を参照する
[OR]は複数条件記述の場合(場合によっては[AND]もある)
[L]は条件にマッチした場合そこで判定を終了する(以下に続くRewriteRuleを評価しない)
続けてスマートフォンとPCの振り分けを行う記述
まず、IPアドレスをチェックし、その後スマホ振り分け
RewriteEngine On
RewriteCond %{REMOTE_ADDR} xxx\.xxx\.xxx\.xxx [OR]
RewriteCond %{REMOTE_HOST} !^\.dion\.ne\.jp$
RewriteRule ^$ http://kdcs-web.com/sample.html [L]
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|iPad|Android|BlackBerry)
RewriteRule ^$ http://kdcs-web.com/sp/ [R]
ロリポップサーバーでwordpressにアップロードした画像を直接アクセスできないように制限する方法
uploadsフォルダに.htaccessを作る
SetEnvIf Referer "^http://サイトのURL" ShowOK order deny,allow deny from all allow from env=ShowOK
これで、画像に直接アクセスするとエラーページが表示される