从php代码中的htaccess读取环境变量集



我目前正在将一个应用程序从非常旧的symfony 2.1版本迁移到symfony 6版本。

有一段代码已经不起作用了,我无法理解:

在htaccess文件中有多个定义,如下所示:

RewriteCond %{HTTP_HOST} ^www.cg.mywebsite(.com)?(:[0-9]+)?$
RewriteRule (.*) $1 [E=COUNTRY:57]

也就是说,如果主机模式遵循重写条件,那么我可以在我的PHP代码中获得等于57的国家值

$country = $request->server->get('COUNTRY', 1);

这在旧的应用程序中运行得很好,但在新的应用程序上,我总是得到1,就好像国家根本没有定义一样

旧应用程序:Symfony 2.1/Php5

新应用:Syfony 6/Php 8

我使用的本地服务器是内置的本地symfony服务器。

.htaccess是一个Apache配置文件。如果您使用的是内置的symfony web服务器(或PHP内置的web服务器(,则这不是Apache,并且不会处理.htaccess文件(也不会设置env-var(。

如果您需要为应用程序逻辑处理.htaccess文件,那么您需要运行Apache,或者将此逻辑移动到您的应用程序/PHP。

最新更新