2012-08-24 39 views
0

我在一個子目錄中有一個站點,例如, root/sites/testsite/,我想php變量$_SERVER['DOCUMENT_ROOT']root/sites/testsite/而不是root,我將如何做這個記住我在共享主機?如何在httpd.conf中設置PHP文檔根目錄

在此先感謝

回答

1

$_SERVER['DOCUMENT_ROOT']被自動設置爲你的Apache配置VirtualHost配置項的DocumentRoot。這將成爲您網域上的網址/指向的目錄。

您需要更改代碼以使用其他變量來計算基本目錄,例如配置文件中的硬編碼。您也可以使用.htaccess文件中的Apache SetEnv指令來傳遞變量 - 例如, SetEnv BaseDir root/sites/testsite/將導致$_SERVER['BaseDir']被設置爲字符串"root/sites/testsite/"

或者,您可以在腳本的開頭爲變量賦值一個新值,以便「欺騙」它的值(例如,如果使用依賴此變量的第三方代碼)。

+1

[編輯:這是回覆我認爲已被刪除的評論]一個.htaccess文件,只是在那個 - 就是一個文件與一行,稱爲.htaccess,並放在目錄中你的PHP正在運行。假設您的主機設置爲這樣做(大多數共享主機),Apache將讀取該文件,處理SetEnv,就是這樣! – IMSoP

+0

謝謝,我會去給它去!如果您將.htaccess文件粘貼到高級目錄中,它將適用於它下面的所有php文件嗎? – James

+0

是的。有關.htaccess文件的官方Apache文檔在這裏:http://httpd.apache.org/docs/2.2/howto/htaccess.html – IMSoP

相關問題