httpヘッダの値次第で画面分岐したい時ってありますよね。今日はその具体的な設定について。
※/etc/httpd/conf.d ディレクトリ配下に自分のモジュールの設定を記載する想定です。
シチュエーション
ヘッダに入っていて欲しい値が「無い」場合、Forbidden画面に飛ばす。
1 2 3 4 5 6 7 8 9 10 11 12 |
#おまじない RewriteEngine on #読み取りたいクエリ(例はheader)を指定。Date,Accept-Language,etc... #入っていて欲しい値(例は"abc")が含まれない場合マッチする。 RewriteCond %{HTTP:header} ^(?!.*abc).*$ #上記にマッチした時(欲しい値が無い)、Forbidden画面に飛ばされます。 #"RewriteRule"ディレクティブはURLに変更を加えます。今回はForbiddenフラグを付与するのみでURLは変更しません。 #"^(.*)$"はURL全文を示します。"-"は何も変更を加えないことを示します。 #"[F,L]"のFがForbiddenフラグを付与し、Lがこれ以上変更を加えないフラグを付与します。 RewriteRule ^(.*)$ - [F,L] |
簡単なプロキシならこれでいいと思います。これより複雑で複数の分岐やリアルタイム画面遷移はアプリ側でやりたいなと思う…