SetEnv
に設定された値をRewriteRule
文で使用することはありますか?mod_rewriteルールとsetenv
例:
SetEnv MY_SCRIPT myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{MY_SCRIPT} [L]
SetEnv
に設定された値をRewriteRule
文で使用することはありますか?mod_rewriteルールとsetenv
例:
SetEnv MY_SCRIPT myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{MY_SCRIPT} [L]
http://httpd.apache.org/docs/2.0/env.htmlによると、のRewriteRuleの後にSetEnvはと呼ばれます。したがって、RewriteRule-またはRewriteCond-ステートメントでSetEnvで変数セットを使用することは不可能です。
の前にSetEnvIfを使用するのはです。したがって、RewriteRuleとRewriteRond-またはRewriteCond-ステートメントに変数セットを使用することができます。
だから、次のようなものが動作するはずです:
SetEnvIf SERVER_PROTOCOL "HTTP.*" MY_SCRIPT=myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{ENV:MY_SCRIPT} [L]
利用%{ENV:MY_SCRIPT}
の代わり%{MY_SCRIPT}
。