勉強したことのメモ

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 サーバー

  関連記事

htaccessとhttpd.confの優先度
htaccessとhttpd.confの優先度

既に完成しているシステムを引き継ぐことがあり、そこのリライトルール設定を変更した ...

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

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

htaccessファイルで海外からのアクセスをIP制限する方法
htaccessファイルで海外からのアクセスをIP制限する方法

「サーバー立てたらすぐ攻撃が来る」と聞いたのでアクセスログを確認したところ、海外 ...

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

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

画像やPDF等のファイルへの直接アクセスは禁止し、PHP経由のみ表示やダウンロードを可能にする
画像やPDF等のファイルへの直接アクセスは禁止し、PHP経由のみ表示やダウンロードを可能にする

ファイルアップローダーを作成する案件があり、アップロードしたファイルは「http ...