2012-01-19 11 views
9

INDEX_URL sabitini mümkün olan en kolay şekilde saklamak istiyorum..htaccess üzerinden sunucuda sabit değişkeni depola

Bir geliştirici sitesi ve normal bir site var. Geliştirici sitesinde herhangi bir değişiklik varsa, Sadece tüm dosyaları kopyalamak istiyorum ancak bu sabit 2 sitede aynı değil.

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

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

O değeri saklamaz görünüyor:


Ben bu testi yaptık.


Alternatif yöntem:

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

cevap

10

Sen ortam değişkeni olarak kaydedebilirsiniz.

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

Ve PHP'de almak: .htaccess koy

$indexUrl = getenv('INDEX_URL'); 
+0

Bu bir dikişi harika ama işe yaramıyor. Sebebi ne olabilir? –

+2

Web sunucunuzun ayarları geçersiz kılmasına izin vermediğini düşünüyorum. Apache'yi kullanıyorsanız, http: AllowOverride Tümü – pltvs

+0

'unuzu kullanın. AllowOverride All 'ı hiç yorulmadan yoruldum. (ayrıca güncel soruya bakınız) –

6

otomatik Şunları kullanabilirsiniz bilgisayarlar arasında geçiş yapmak için 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'] : '';