ステートメントの aSetEnv
に設定された値を使用する方法はありますか?RewriteRule
例:
SetEnv MY_SCRIPT myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{MY_SCRIPT} [L]
ステートメントの aSetEnv
に設定された値を使用する方法はありますか?RewriteRule
例:
SetEnv MY_SCRIPT myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{MY_SCRIPT} [L]
http://httpd.apache.org/docs/2.0/env.htmlによると、SetEnv はRewriteRule の後に呼び出されます。したがって、RewriteRule ステートメントまたは RewriteCond ステートメントで SetEnv を介して設定された変数を使用することは不可能のようです。
一方、SetEnvIf の使用は RewriteRule の前に呼び出されるため、そこに設定された変数は RewriteRule または RewriteCond ステートメントで使用できます。
したがって、次のようなものが機能するはずです。
SetEnvIf SERVER_PROTOCOL "HTTP.*" MY_SCRIPT=myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{ENV:MY_SCRIPT} [L]
%{ENV:MY_SCRIPT}
の代わりに使用し%{MY_SCRIPT}
ます。