我正在尝试根据 .htaccess 文件中的请求 url 设置环境变量:
RewriteRule ^(en|de|fr|ar)/(.*)$ /$2 [E=language:$1]
这似乎可行,但在 php 中,变量名称中会添加 REDIRECT_ 前缀一到两次: REDIRECT_REDIRECT_language 或 REDIRECT_language
所以问题是:为什么要添加这个前缀?以及如何避免这种情况?获取指定的环境变量。
服务器是Centos 7。
REDIRECT_
前缀会添加到directory上下文中。这取决于您在
.htaccess
文件(以及服务器配置中的
<Directory>
容器)中的指令。因此,为了了解为什么会发生这种情况以及如何避免这种情况,我们需要查看您的整个
.htaccess
文件。 (但除此之外,这是在directory 上下文中使用环境变量和 mod_rewrite 的副作用。) 根据您的服务器配置,您也许可以使用以下命令访问“顶级”变量:
<?php
$value = apache_getenv('language',true);