しかし、この質問は少し異なります。
次のような RewriteRule があるとします。
RewriteRule ^test/([\w]*)/([\w]*)/([\w]*)/?$ go.php?q=THREE_$1_$2_$3
したがって、http://localhost/test/a/b/cはhttp://localhost/go.php?q=THREE_a_b_cに書き換えられます。
ここで、 http://localhost/test/a//c のように、中央のパラメーターが省略され、結果が二重スラッシュになる条件を明示的にキャッチしたいとします。
だから私は次のようなルールを書きます:
RewriteRule ^test/([\w]*)//([\w]*)/?$ go.php?q=TWO_$1_(EMPTY)_$2
しかし残念ながら、ルールは決して一致しません。二重スラッシュがと の両方で保持されていても、RewriteRuleは二重スラッシュを認識しないようです。%{THE_REQUEST}
%{REQUEST_URI}
だから私は次のようなルールを書きます:
RewriteCond %{REQUEST_URI} //
RewriteRule ^test/([\w]*)/([\w]*)/?$ go.php?q=TWO_$1_(NONE)_$2
RewriteCondは REQUEST_URI に二重スラッシュがある場合にのみ適用されるため、これは機能します。しかし、ご覧のとおり、正規表現で解析するときに二重スラッシュがないと想定する必要があります。
RewriteRule が %{REQUEST_URI} で機能すると思っていたので、これはすべて非常に気がかりです。
私の質問は、生の %{REQUEST_URI} ではない場合、RewriteRule は何をフィードするのでしょうか?