[mod_rewrite] 備忘録

最上位ディレクトリ名にスラッシュを補完する(Trailing slash)

RewriteCond %{HTTP_HOST} ^mumu\.jpn\.ph$ [NC]
RewriteRule ^(/[^/]*[^/])$ $1/ [R=301,L]

RewiteCond

書式:RewriteCond テスト文字列 条件パターン オプション
RewriteCond を複数連続して記述した場合AND条件となる。OR条件に場合は明示的に[OR]で連結する必要あり。
Apache環境変数に変数をセットする/削除する

RewriteRule .* – [E=X_KEY1:VALUE1,] # 変数名(KEY1)、値(VALUE1)という変数を作成する
削除するときは[E=!KEY1]
phpから$_SERVER[“変数名”] = 値として、mod_rewriteから読み出しを試みたが動かなかった。変数はsurviveしない可能あり。
RewriteCond %{ENV:X_LOGIN} !(^PASS$) # これは動かなかった
EXITNOW

一般的なプログラミング言語におけるループからのexitに相当するものとして下記のような記述を提案するweb情報があった。
RewriteRule ^(.*)$ – [L]
しかしこれは期待したようなexitとしての機能を果たさなかった。
[END]というオプションについて言及しているものもあったがこれも動かず。

コメント