0
我在一個子目錄中有一個站點,例如, root/sites/testsite/
,我想php變量$_SERVER['DOCUMENT_ROOT']
爲root/sites/testsite/
而不是root
,我將如何做這個記住我在共享主機?如何在httpd.conf中設置PHP文檔根目錄
在此先感謝
我在一個子目錄中有一個站點,例如, root/sites/testsite/
,我想php變量$_SERVER['DOCUMENT_ROOT']
爲root/sites/testsite/
而不是root
,我將如何做這個記住我在共享主機?如何在httpd.conf中設置PHP文檔根目錄
在此先感謝
$_SERVER['DOCUMENT_ROOT']
被自動設置爲你的Apache配置VirtualHost
配置項的DocumentRoot
。這將成爲您網域上的網址/
指向的目錄。
您需要更改代碼以使用其他變量來計算基本目錄,例如配置文件中的硬編碼。您也可以使用.htaccess
文件中的Apache SetEnv
指令來傳遞變量 - 例如, SetEnv BaseDir root/sites/testsite/
將導致$_SERVER['BaseDir']
被設置爲字符串"root/sites/testsite/"
。
或者,您可以在腳本的開頭爲變量賦值一個新值,以便「欺騙」它的值(例如,如果使用依賴此變量的第三方代碼)。
[編輯:這是回覆我認爲已被刪除的評論]一個.htaccess文件,只是在那個 - 就是一個文件與一行,稱爲.htaccess,並放在目錄中你的PHP正在運行。假設您的主機設置爲這樣做(大多數共享主機),Apache將讀取該文件,處理SetEnv,就是這樣! – IMSoP
謝謝,我會去給它去!如果您將.htaccess文件粘貼到高級目錄中,它將適用於它下面的所有php文件嗎? – James
是的。有關.htaccess文件的官方Apache文檔在這裏:http://httpd.apache.org/docs/2.2/howto/htaccess.html – IMSoP