端末がスマホの時だけSPサイトにリダイレクトする方法

Server

今回の記事は、WEBサイトにアクセスした際に、使用している端末がアンドロイドもしくはiPhoneなどのスマートフォンだった場合に「https://www.example.jp/sp/」などのスマホ専用ページに飛ばす処理を追加する方法を紹介します。

近年のWEBサイトはレスポンシブが主流なので、今回の件を学ぶ事が殆ど無いかと思います。しかしクライアントワークの中ではやむを得ず、今回のような切り替え対応をしなくてはいけない場合もあるので覚えておきましょう。

端末がスマホの時だけSPサイトにリダイレクトする方法

今回の方法をApache環境で使用できるhtaccessを使った方法を紹介します。

結論は以下の記述をして「https://www.example.jp/sp/」の部分のURLを遷移させたいパスに変更して下さい。

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

3行目の「HTTP_USER_AGENT」で端末を判定しています。
4行目では、URLの末尾に「?mode=pc」という文字列が付加されていない場合だけを対象にする記述(=付加されている場合には、スマートフォン用ページにはリダイレクトしないようにする記述)です。

5行目では、リダイレクト先を指定しています。

たったこれでPCでない場合はSPのページにリダイレクトされるようになります。

*htaccessを弄る際は確かな理解の上作業を行いましょう。記述をミスると画面が表示されなくなる恐れがあります。


以上が「端末がスマホの時だけSPサイトにリダイレクトする方法」でした。

あまり使う事は無いかもしれませんが、一応覚えときましょう。

ServerApache,Backend

Posted by KT