この書き換え条件が正確に何をするのかを理解しようとしています:
RewriteCond foo#%{ENV:bar} ^([^#]+)#\1$
「.htaccess でカスタム環境変数を使用する」で述べたように、これは書き換え条件で環境変数をテストするための回避策として使用できます。たとえば、「foo」が bar の値に等しい場合などです。
編集:
正規表現が何をするかを指摘してくれてありがとう@miah。変数を直接テストできない場合に、そのような方法で変数をテストできる理由はまだわかりません。
アップデート:
したがって、CondPattern が変数を評価せず、TestString で評価される場合、ここで bar が空であるため、これが比較で機能しないのはなぜですか。
RewriteCond %{ENV:bar} ^foo$