我打算使用可以部署在多个服务器上的单个.htaccess
文件。在这个过程中,我在.htaccess
文件中设置环境变量,有几种情况我想在设置中读取IP地址。例如,在一种情况下,我正在为本地数据库连接设置环境变量:
SetEnv DBL "mysql:dbname=oars;host=192.168.101.1;port=3306"
然后在PHP中我会读取变量以供数据库交互使用:
define('DBL', getenv('DBL'));
由于我打算在多台服务器上部署,有没有办法自动获取IP地址,而不是为每台服务器维护单独的.htaccess文件?
答案 0 :(得分:7)
您可以使用规则设置Env变量:
RewriteEngine on
RewriteRule ^ - [E=DBL:mysql\:dbname=oars\;host=%{SERVER_ADDR}\;port=3306]
print getenv("DBL");
mysql:dbname=oars;host=1.2.3.4.5;port=3306