У меня есть этот маленький файл .htaccess:Доступ к переменным окружения, установленные с помощью mod_rewrite в PHP
RewriteEngine on
RewriteRule ^(.*)$ urlroute.php?q=$1 [E=myvariable:'withthisvalue',B,QSA]
направлять все запросы на мой сценарий URL маршрутизации. Он отлично работает, и я могу получить доступ к запрошенному URL-адресу в urlroute.php как $_GET['q']
.
Я устанавливаю переменные окружения myvariable
с помощью mod_rewrite я могу получить к нему доступ в urlroute.php в $_SERVER['myvariable']
. Я не могу получить к нему доступ, используя $_ENV['myvariable']
, который кажется странным. Может ли кто-нибудь объяснить причину?
Насколько мне известно, mod_redirect добавит REDIRECT_
к именам переменных среды при выполнении перенаправления (что всегда в моем случае). Но для меня доступны как $_SERVER['myvariable']
, так и $_SERVER['REDIRECT_myvariable']
. Зачем?
+1 для хорошего ответа, однако, я думаю, вы имели в виду 'RewriteCond' вместо' RedirectCond'. – anubhava
@anubhava, вот что я называю «mindfart». Сожалею. конечно ты прав. Я отредактировал ответ – TerryE