是否有任何使用RewriteRule
语句中的SetEnv
中设置的值?mod_rewrite规则和setenv
实施例:
SetEnv MY_SCRIPT myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{MY_SCRIPT} [L]
是否有任何使用RewriteRule
语句中的SetEnv
中设置的值?mod_rewrite规则和setenv
实施例:
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-语句中使用Variables set。
所以像下面应该工作:
SetEnvIf SERVER_PROTOCOL "HTTP.*" MY_SCRIPT=myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{ENV:MY_SCRIPT} [L]
%{ENV:MY_SCRIPT}
使用代替%{MY_SCRIPT}
。