2011-02-01 55 views
1

方案:開發託管服務器,htaccess的=基本認證,於allow_url_fopen =上PHP包括htaccess的,並於allow_url_fopen

問題:當我包括在其URL位置上的文件,我的htaccess塊包括並返回401錯誤。

已知解決方案:相對路徑(../),$ _SERVER ['DOCUMENT_ROOT']。

問:有沒有另一種方法?如果可能的話,我想在這種情況下保留網址。另外,我正在使用包含文件來處理頁腳,我應該使用tpl(我對tpl一無所知)?

編輯:我目前正在弄亂我的文件夾結構。我有example.com和secure.example.com(其中安裝了ssl)。所以在我的安全文件夾中,我想包含來自根目錄的文件。我認爲這可能會更容易,如果我使用的URL,因爲'document_root'調用只帶我到安全文件夾(而不是根),如果我移動文件的相對路徑可能無法正常工作。

+0

只有當您通過http://請求本地資源時纔會發生這種情況。你能舉一個例子嗎? – 2011-02-01 19:15:07

回答

2

你真的不想這樣做。這就是該選項默認關閉的原因。處理此問題的更好方法是從libcurl獲取文件。

$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$data = curl_exec($ch); 

然後您可以將數據寫入到一個文件,包括它。不過,這仍然是一個非常冒險的行爲,因爲你信任一個遠程源。一條鏈只與其最薄弱的環節一樣安全。使用SSH和定期同步可能是一個可行的選擇。