青二才なDan

mod_rewriteによるPC,Mobile判別

最終更新:

dyfantasista

- view
だれでも歓迎! 編集

目次 [#z63605da]



前提

ユーザーエージェントによる振り分けである

準備


  • 使い方
    • firefoxを開く⇒メニュー[ツール]⇒FireMobileSimulator
    • 機種を選択し、ページを更新


モジュールの確認

  • httpd.conf の中に、 LoadModule rewrite_module libexec/httpd/mod_rewrite.soを確認


設定

  • ユーザーエージェントを利用し、PC,Mobileを判別
  • httpd.confに追加
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} J-PHONE [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} Vodafone [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} SoftBank [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} MOT- [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} KDDI [NC]
RewriteRule ^/$ /mobile [R,L]

  • apacheの再起動
service httpd restart
  • 確認
    • firefoxのアドオンで携帯画面を確認し、携帯用の画面に切り替わればO.K

バーチャルホストを利用の場合

用語について

  • バーチャルホスト(2つ)とは
    • 名前ベースバーチャルホスト
      • 1つのサーバコンピュータで複数のドメインを運用することができる
      • 2つ以上のウェブサイトを扱う運用方法のこと
    • IPベースバーチャルホスト
      • 利用するドメイン名ごとにIPアドレスを用意する
      • 1つのサーバコンピュータに複数のIPアドレスを割り当てられる

モジュールの確認

  • httpd.conf の中に、 LoadModule rewrite_module libexec/httpd/mod_rewrite.soを確認

設定

  • 上で設定した場所とは違い、バーチャルホスト内の.conf
  • 追加
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} DoCoMo [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} J-PHONE [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} Vodafone [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} SoftBank [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} MOT- [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} UP.Browser [NC]
RewriteRule ^/$ /mobile [R,L]
RewriteCond %{HTTP_USER_AGENT} KDDI [NC]
RewriteRule ^/$ /mobile [R,L]

  • apacheの再起動
service httpd restart

  • 確認
  • firefoxのアドオンで携帯画面を確認し、携帯用の画面に切り替わればO.K





以上
-
ウィキ募集バナー