【发布时间】:2012-02-06 01:27:07
【问题描述】:
我有这个小 .htaccess 文件:
RewriteEngine on
RewriteRule ^(.*)$ urlroute.php?q=$1 [E=myvariable:'withthisvalue',B,QSA]
将所有请求定向到我的 URL 路由脚本。它工作得很好,我可以在 urlroute.php 中以$_GET['q'] 访问请求的 URL。
我正在使用 mod_rewrite 设置环境变量 myvariable
我可以在 urlroute.php 中以$_SERVER['myvariable'] 的身份访问它。我无法使用 $_ENV['myvariable'] 访问它,这似乎很奇怪。有人可以解释一下可能是什么原因吗?
据我所知,mod_redirect 会在进行重定向时将REDIRECT_ 添加到环境变量名称之前(在我的情况下总是如此)。但对我来说,$_SERVER['myvariable'] 和 $_SERVER['REDIRECT_myvariable'] 都可用并设置为相同的内容。为什么?
【问题讨论】:
标签: php mod-rewrite