通过.htaccess在服务器上存储常量变量


store constant variable on server via .htaccess

我想以最简单的方式存储INDEX_URL常量。

有一个开发者网站和一个普通网站。如果开发者网站上有任何变化,我只想复制整个文件,但这个常数在两个网站上不一样。


我做了这个测试:

putenv("TEST=TEST");
var_dump(getenv('TEST')); //TEST
//putenv("TEST=TEST");
var_dump(getenv('TEST')); //false

它似乎没有储存价值。


替代方法:

define('__INDEX_URL__',"http://".$_SERVER['SERVER_NAME']."/index.php");

您可以将其保存为环境变量。把这个放进去。htaccess:

SetEnv INDEX_URL http://example.com/index.php

并在PHP中获取:

$indexUrl = getenv('INDEX_URL');

要在主机之间自动切换,可以使用SetEnvIf:

.htaccess:

SetEnvIf Host host'.com INDEX_URL=http://host.com/index.php
SetEnvIf Host dev'.host'.com INDEX_URL=http://dev.host.com/index_dev.php

PHP:

$indexUrl = isset($_SERVER['INDEX_URL']) ? $_SERVER['INDEX_URL'] : '';

试试这个:在.htaccess中,添加SetEnv HTTP_MYCONSTANT = "My Value"

注意:出于安全原因,从Http开始

并在任何页面上获取值,如下所示:getenv('HTTP_MYCONSTANT')