はね丸のWEB工房

Windows Phoneを.htaccessで正しく振り分ける方法と題して、情報共有をします

はね丸のWEB工房PHP>投稿記事を個別表示

このエントリーをはてなブックマークに追加

Windows Phone


2011年8月25日に、国内第1号のウインドウズフォン「Windows Phone IS12T」がauより発売されました。
今後の動向もまだわからず、シェアも断然ない状態ですので、注目している人はまだまだ少ないと思います。

友達が発売と同時にWindows Phone購入したのですが、そこである事実がわかりました。
Windows Phoneでサイトを参照すると、ほとんどのサイトがモバイル(ガラケー)判定してしまうのです。

つまりスマートフォンなのに、ガラケー用のページに飛ばされてしまうのです。
あの天下のGoogleですら、モバイル判定になってしまうとか。

そこでWindows Phoneを、正しくスマートフォンサイトへ振り分ける方法を紹介します。

スポンサーリンク

今回は手軽に「.htaccess」での振り分け方法です。
プログラム内で振り分けていても、所詮はユーザーエージェントを見て振り分けていると思いますので、応用は簡単にできると思います。


Windows Phoneのユーザーエージェント

Windows PhoneのUser-Agentはどのような記述になっているのでしょうか?
お友達に協力いただき、採取してみました。

Mozilla/5.0 (compatible; MSIE 9.0; Windows Phone OS 7.5; Trident/5.0; IEMobile/9.0; FujitsuToshibaMobileCommun; IS12T; KDDI)



末尾にキャリアの「KDDI」の文字が。
携帯電話(ガラケー)判定ではキャリア名を判定材料としてよく使いますので、ほとんどのサイトはこれによってモバイルページに飛ばされているわけです。


.htaccessでWindows Phoneで正しく振り分ける記述方法

すでに振り分けロジックを組み込んでいる方は、上記のユーザーエージェントだけで解決だと思いますが、念のためどう記述すればよいか書いておきます。

よくある標準的な.htaccessへの書き方は、以下の通りですね。


RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android)
RewriteRule ^(.*)$ /smart/$1 [NE,R,L]

RewriteCond %{HTTP_USER_AGENT} (DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank)
RewriteRule ^(.*)$ /mobile/$1 [NE,R,L]



これにWindows Phone対応の記述を入れると、以下のようになります。


RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (iPhone|iPod|Android|Windows.Phone)
RewriteRule ^(.*)$ /smart/$1 [NE,R,L]

RewriteCond %{HTTP_USER_AGENT} (DoCoMo|KDDI|DDIPOKET|UP\.Browser|J-PHONE|Vodafone|SoftBank)
RewriteCond %{HTTP_USER_AGENT} !Windows.Phone
RewriteRule ^(.*)$ /mobile/$1 [NE,R,L]



スペースをどう記述するのかわからなくて、「.」で代用しました。(笑)
7行目のNOT記述はもしかしたら不要ですが、今後いろいろ追記することも考えるとあった方が安全ですね。


今のところはシェアの関係から、対応したとしても大したメリットはないかもしれません。
しかし、Googleすら対応していないところを対応する…なんかカッコイイ、というのが得られます。(笑)

対応自体は簡単ですので、是非お試しあれ。


スポンサーリンク
hanemaru_comをフォローしましょう このエントリーをはてなブックマークに追加
カテゴリー PHP
キーワード Windows Phone,スマートフォン,振り分け,htaccess








※コメントは管理人の承認後、表示されます。

コメントを受け付けました。
コメントは管理人の承認後、表示されます。

表示順:新規順 | 投稿順 | 人気順 | 注目順