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

时间:2012-01-19 08:44:35

标签: php .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");

3 个答案:

答案 0 :(得分:11)

您可以将其另存为环境变量。把它放在.htaccess:

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

用PHP获取它:

$indexUrl = getenv('INDEX_URL');

答案 1 :(得分:6)

自动在主机之间切换您可以使用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'] : '';

答案 2 :(得分:0)

尝试一下: 在.htaccess中,添加 SetEnv HTTP_MYCONSTANT = "My Value"

注意:出于安全考虑,以Http开头

并在任何这样的页面上获取值: getenv('HTTP_MYCONSTANT')