WEBデザインの勉強

WEB制作初心者が1から勉強するブログ。

.htaccessでスマートフォン用とPC用に振り分ける

フォルダをスマートフォン用とPC用で分けます。
今回はspフォルダにスマートフォン用、pcフォルダにPC用のデータを作成し、pcフォルダの中にspフォルダを入れます。
MACでは.(ドット)が最初に付くファイルを不可視にしてしまう場合があるのでまずhtaccess.textで内容を書き、
その後アップロードしたファイルを名前を変更で.htaccessと変更します。

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

Header set Vary User-Agent
</IfModule>



mod_rewriteApacheのモジュールでURLを書き換える

HTTP_USER_AGENT
アクセス端末の種類
iPhone|Android.*Mobile|Windows.*Phoneだったら書き換え

[NC]
大文字小文字を区別しない

RewriteCond %{QUERY_STRING} !mode=pc
URLの末尾に「?mode=pc」という文字列が付いていた場合には、スマートフォン用ページに移動させない(リダイレクトしない)ようにする。
mode=pcは任意の名前で良い。

RewriteRule ^$ /pc/sp/ [R,L]
RewriteRule(リライトルール)は指定した規則に沿ってURLを書き換えられる。

[R,L]「R」はリダイレクトする。「L」は書き換え規則の最終行であることを示す。書かなくても良い。

これをpcフォルダの中に置いてアップロードすると、PCだとそのまま見えて、スマートフォンだとpcフォルダの中のspフォルダにリダイレクトするようになる。