是否有任何使用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}
。