如果使用 env 在 htaccess 中运行

if function in htaccess using env

我正在使用 phpdotenv 包在 wordpress 项目中设置环境

env 文件

ENVIRONMENT=production
DB_NAME=
DB_USER=
DB_PASSWORD=

我需要在 htaccess 中添加 if 函数以根据环境进行 https 重定向。

目前我无法在 htaccess 中获取 env 值。

“phpdotenv”是一个 PHP 包。它处理 .env 文件的时间太晚,无法从 .htaccess 访问变量。 (.htaccess PHP 开始处理请求之前被处理。)所以,你试图做的事情是不可能的。

你需要反过来做。 IE。在 .htaccess 中设置环境变量(或者最好是服务器配置),然后 PHP 和 .htaccess.

都可以访问它

I need to add if function in htaccess to do the https redirection based on ENVIRONMENT.

请求中通常还有其他元素可用于确定您是否在生产中。例如。请求的主机名、服务器 IP 地址、已安装的模块、特定文件的存在等。虽然这通常通过在主服务器配置中设置环境变量(或 Defineing 一个“真实的”服务器变量)来实现,并且在 .htaccess.

中检查这个(或没有这个)