¿Hay alguna forma de utilizar el valor establecido en un SetEnv
en la instrucción RewriteRule
?regla mod_rewrite y setenv
Ejemplo:
SetEnv MY_SCRIPT myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{MY_SCRIPT} [L]
¿Hay alguna forma de utilizar el valor establecido en un SetEnv
en la instrucción RewriteRule
?regla mod_rewrite y setenv
Ejemplo:
SetEnv MY_SCRIPT myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{MY_SCRIPT} [L]
De acuerdo con http://httpd.apache.org/docs/2.0/env.html el SetEnv se llama después de RewriteRule. Por lo tanto, parece ser imposible utilizar cualquier conjunto de variables a través de SetEnv en una declaración RewriteRule- o RewriteCond.
Usando SetEnvIf por otro lado se llama antes de RewriteRule y por lo tanto las variables establecidas allí se pueden utilizar en una declaración RewriteRule- o RewriteCond.
Así que algo como lo siguiente debería funcionar:
SetEnvIf SERVER_PROTOCOL "HTTP.*" MY_SCRIPT=myScript.php
rewriteEngine on
RewriteRule ^(.*)$ %{ENV:MY_SCRIPT} [L]
Uso %{ENV:MY_SCRIPT}
en lugar de %{MY_SCRIPT}
.