勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ

htaccessでスマホ判別とCookie制御する方法

   2024/02/25  Apache サーバー

サイトを閲覧しているデバイスがスマホ且つ特定の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で触れるというのは知らなかったので驚き。

 - Apache サーバー

  関連記事

apacheを再起動する際に影響を少なくする方法(graceful)
apacheを再起動する際に影響を少なくする方法(graceful)

apacheを再起動するとクライアントとの通信が強制的に切断されてしまう。その影 ...

htaccessファイルでダイジェスト認証を行う方法
htaccessファイルでダイジェスト認証を行う方法

何かで調べ物をしていたときにdigest認証というものを見かけた。basic認証 ...

VirtualHostを設定しIPアドレスでもアクセスしたい
VirtualHostを設定しIPアドレスでもアクセスしたい

apacheでVirtualHostを設定しつつ、IPアドレスでもアクセスしたか ...

HSTS(HTTP Strict Transport Security)の設定方法
HSTS(HTTP Strict Transport Security)の設定方法

あるサイトのセキュリティ対策としてHSTS(HTTP Strict Transp ...

特定ディレクトリ以下のBasic認証を無効化する方法
特定ディレクトリ以下のBasic認証を無効化する方法

Basic認証を設定しているサイトがあり、そちらを解除したかった。通常の場合だと ...