.htaccess ファイルの記述で mod_rewrite 機能を用いると、携帯電話でのアクセス時とパソコンでのアクセス時に表示するページの内容を振り分けることが可能です。
mod_rewrite に関して
mod_rewrite は、指定したルールと一致するURLへアクセスがあった際にURLを書き換えたり、エラーを表示させたりすることができる Apacheのモジュールです。
*ページに設定例を載せてありますが、ルールの記述内容に関しましてはサポート外とさせていただきます。以下のようなインターネット上のドキュメント等をご参照ください。
Apache URL Rewriting Guide (日本語訳)
Apache mod_rewrite (日本語訳)*.htaccess の記述内容を誤りますとホームページが閲覧できなくなったり、無限ループを引き起こす可能性がありますのでご注意ください。
*.htaccess を設置したディレクトリのサブディレクトリにもルールが適用されます。ルールを適用させたくないサブディレクトリには、RewriteEngine Off と書いた .htaccess を設置をすることで、ルールが適用されなくなります。
*.htaccessの設置方法に関してはこちらを参照してください。
*フォワードプランのお客様は、別途、ご依頼ください。
携帯キャリアからトップページへアクセスした際に、携帯用ページへ自動転送
例)特定携帯キャリアから http://WWWサーバ名/ にアクセスがあった場合に、http://WWWサーバ名/mobile/index.html へ自動転送する。
サイトのトップページなどを設置するルートディレクトリ(一番浅い階層)に 以下の内容を記載した .htaccess を設置します。
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^DoCoMo [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^SoftBank [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^KDDI [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Vodafone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^J-PHONE [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^Up.Browser [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^ASTEL [NC,OR]
RewriteCond %{HTTP_USER_AGENT} ^DDIPOCKET [NC]
RewriteRule ^$ http://WWWサーバ名/mobile/index.html [L]
ルートディレクトリに携帯用の mobile という名前のディレクトリを作成し、mobile ディレクトリの中に、携帯用 index.htmlと、以下の内容を記載した.htaccessを設置します。
RewriteEngine Off
特定種類のファイルを直接リンク禁止
例)特定種類のファイル(.pdf .zip .gif .jpg .jpeg)を、外部URLから参照できないようにする。
*携帯電話や特定のWebブラウザではREFERER(経由先)を返さないため、指定した種類のファイルが開けなくなる可能性があります。設定時には注意してください。
制限をかけたいディレクトリに、以下の内容を記載した .htaccess を設置します。
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*)\.(pdf|zip|gif|jpg|jpeg)$ [NC]
RewriteCond %{HTTP_REFERER} !^http://WWWサーバ名/.*$ [NC]
RewriteRule ^(.*)$ - [F]
.htaccess を設置したディレクトリのサブディレクトリにも効果が及びますので、制限をかけたくないサブディレクトリには、以下の内容を記載した .htaccessを設置してください。
RewriteEngine Off