いつまで経ってもわからない、WEBってやつは・・・(´・ω・`)

【 .htaccess 】スマートフォン振り分け

PCサイトとスマートフォンサイトを.haccessで振り分けた時のメモ。
静的サイトだったから.htaccessで対応しました(`・ω・´)!

振り分け

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/sp/.*$
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|BlackBerry|Windows.*Phone) [NC]
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^$ /sp/$1 [R=301,L]
</IfModule>

 イエス!振り分けられた(*´∀`*)♪

  • スマートフォン⇒ http://ドメイン/sp/(移動)
  • スマートフォン以外⇒ http://ドメイン/(移動しない)
  • スマートフォンでもURLが http://ドメイン/?mode=pc ⇒ http://ドメイン/ (移動しない)

参考 http://allabout.co.jp/gm/gc/386483/3/

・・あれ、いやいや、振り分けられたけど・・

あれ、ドメイン/index.html は振り分けられない(´・ω・`)

てことで下記を追加!

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ /$1 [R=301,L]
</IfModule>

 でけたー(つω`*)
つまりドメイン/index.htmlで来てもドメイン/に統一させて、その後振り分け♪

こんな感じ

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.html
RewriteRule ^(.*)index.html$ /$1 [R=301,L]

RewriteEngine On
RewriteCond %{REQUEST_URI} !^/sp/.*$
RewriteCond %{HTTP_USER_AGENT} (iPhone|Android.*Mobile|BlackBerry|Windows.*Phone) [NC]
RewriteCond %{HTTP_USER_AGENT} !iPad [NC]
RewriteCond %{QUERY_STRING} !mode=pc
RewriteRule ^$ /sp/$1 [R=301,L]
</IfModule>

 ふー(>ω<*)静的めっ