htaccessでスマホ判別とCookie制御する方法
サイトを閲覧しているデバイスがスマホ且つ特定のCookieの値が入っているユーザーのみ、リダイレクトを行いたかった。また、PHPやJavaScriptはできれば控えたくて、他の方法を探したところhtaccessが手軽そうだったので方法のメモ。
■ソース
RewriteEngine on RewriteBase / RewriteCond %{REQUEST_URI} !/sp/ RewriteCond %{HTTP_USER_AGENT} (iPod|iPhone|iPad|Android|Windows\ Phone) RewriteCond %{HTTP_COOKIE} debug=on RewriteRule ^(.*)$ sp/ [R,QSA,L]
3行目 URLに/sp/を含まないアクセス
4行目 ユーザエージェントがスマホのもの
5行目 Cookieでdebugというキーにonが入っているもの
6行目 /sp/にリダイレクトさせる
■その他
Cookieまでhtaccessで触れるというのは知らなかったので驚き。
関連記事
-
-
アクセスしてきたURLをRewriteRuleで書き換えたい
「http://aaa.com/a」というURLを叩いた際に「http://aa ...
-
-
日本語込みのURLをRewriteRuleで書き換える
※2015/07/15追記 こちらの記事の方がやりたい事は同じだけど、もっとスマ ...
-
-
フォルダにリンク制限をかける
imgというフォルダがあり、直接URLを叩いても 中身を見られないけど、同一サー ...
-
-
htaccessを置いてあるフォルダのファイルを参照
曖昧だけどhtaccessでベーシック認証とかIP制限かかってる フォルダ内のプ ...
-
-
PHPにて自動でファイルを呼び出す(auto_prepend_file)
設定ファイルとかをinclude('config.php')みたいに、 いちいち ...
-
-
お名前.comの共用サーバでRewriteRuleを使う方法
以前メモした「日本語込みのURLをRewriteRuleで書き換える」というもの ...
-
-
海外IPの制限
海外IPの制限を行ったので手順のメモ。 まず「サーバー立てたらすぐ攻撃が来る」と ...
-
-
htaccessとhttpd.confの優先度
既に完成しているシステムを引き継ぐことがあり、そこのリライトルール設定を変更した ...
-
-
どのページを開いても「メンテナンス中です」と表示させる方法
メンテナンスする際にどのページURLを叩いても「只今メンテナンス中です」と出した ...
-
-
特定ディレクトリ以下のBasic認証を無効化する方法
Basic認証を設定しているサイトがあり、そちらを解除したかった。通常の場合だと ...
- PREV
- PHPでステータスコードを取得する方法
- NEXT
- jQuery.browser~みたいなエラーが出た