よくあるご質問 ご利用の注意事項 当サイトについて お問い合わせ
cman.jp > htaccess作成 > htaccess解説 > リダイレクト(スマートフォン・携帯)
htaccess解説/リダイレクト(スマートフォン・携帯)
htaccessのリダイレクト機能を使用すれば、スマートフォンや携帯電話からのアクセスを専用ページにリダイレクト(転送)することが出来ます。
スマートフォンはパソコンより画面が小さく、画面構成を切り替えることが多くあります。サーバのプログラムで画面を入れ替える他にhtaccessで専用画面に自動移動させることもできます。
スマートフォンのリダイレクト(転送)
スマートフォンのリダイレクトがサンプルとなっていますが、携帯ブラウザでも同様に判断することが出来ます。
スマートフォン・携帯のユーザーエージェントについては、以下をご確認ください
 スマートフォン・携帯のユーザーエージェント
「.htaccess」ファイル(サンプル)
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} !^mobile/.*$
RewriteCond %{HTTP_USER_AGENT} iPhone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} iPod [NC,OR]
RewriteCond %{HTTP_USER_AGENT} BlackBerry [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Android.*Mobile [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Windows\ Phone [NC,OR]
RewriteCond %{HTTP_USER_AGENT} Windows\ CE [NC]
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
RewriteRule ^(.*)$ mobile/$1 [R,L]
動作 スマートフォンで
「http://www.example.jp/info/map.html」にアクセスがあった場合、
「http://www.example.jp/mobile/info/map.html」に
リダイレクト(転送)されます。
構文 意味
RewriteEngine 「On」は、Rewrite機能を使用することを宣言しています
※利用しているサーバの設定によっては「RewriteEngine」が使用できないことがあります
RewriteBase 基準となるパスを指定します
「/」を指定した場合は、ルートを表します
RewriteCond 判定条件を以下の形式で記載します
RewriteCond テスト対象 パターン フラグ
サンプルの記載は以下の意味となる
  • RewriteCond %{REQUEST_URI} !^mobile/.*$
    → ”リクエスト(アクセス)があったURLが「mobile」以外 かつ”
  • RewriteCond %{HTTP_USER_AGENT} iPhone [NC,OR]
    → ”ユーザーエージェントに「iPhone」の文字(NC:大文字、小文字の区別しない)を含む または”
  • RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
    → ”ユーザーエージェントに「iPad」の文字(NC:大文字、小文字の区別しない)を含まない かつ”
使用しているフラグの意味は以下となる
  • [NC]
    大文字小文字の識別なし
  • [OR]
    続く条件を「または」で判定。指定が無い場合は「かつ(AND)」となる
※色々な指定が出来るので、詳細はマニュアルを確認ください。
http://httpd.apache.org/docs/2.2/ja/mod/mod_rewrite.html
RewriteRule 条件に一致する場合の動作を記載します
RewriteRule ^(.*)$ mobile/$1 [R=301,L]
サンプルは以下の意味となります
・「mobile」ディレクトリにリダイレクトする ・・・ 「R」
・この行が最終行 ・・・ 「L」

※色々な指定が出来るので、詳細はマニュアルを確認ください。
http://httpd.apache.org/docs/2.2/ja/mod/mod_rewrite.html

Rewriteは多くの機能があります。
上記では、単純なリダイレクトとなりますが、転送先URLの変更やステータスコードの指定など詳細な設定が可能です。
詳細は、下記マニュアルでご確認ください。
http://httpd.apache.org/docs/2.2/ja/mod/mod_rewrite.html
その他
  • 有効の範囲
    「.htaccess」ファイルが置かれたディレクトリとその配下の全てが、リダイレクトの範囲となります。「htaccess留意事項」も合わせてご確認ください。
  • ユーザーエージェントを利用した判断の正当性
    単純な文字列有無の判断のため、正しいとは限りません。
    また、ユーザーエージェントは設定により偽装も可能であるため、正しい情報とは限りません。
    このため、100%の判断はできないことを理解の上ご利用ください。
    (当社では、当ページの基準で判断しています)
運営会社 : 株式会社シーマン - 個人情報保護方針
当社無料サービス : サーバー監視 - 写真・画像の加工サービス - QRコード作成 - ファイル暗号化 - ブラウザキャプチャ
Copyright (C) 2010 Cman Corporation. All Rights Reserved.