2013-05-21 79 views
2

我試圖找到一種方法來動態更改站點的根文件夾。我當前設置的根文件夾下面的:.htaccess動態變量從PHP?

RewriteCond %{DOCUMENT_ROOT}/foo/bar%{REQUEST_URI} -f 
RewriteRule ^(.*)$ %{DOCUMENT_ROOT}/foo/bar%{REQUEST_URI} [QSA,L] 

因此,如果用戶訪問http://example.com它是從/富/酒吧拉。不過,我希望能夠將/ foo/bar更改爲我使用PHP選擇的任何其他隨機目錄。

這樣做是因爲該網站的根文件夾可以由於各種原因相當規律地進行更改。

我可以寫一個PHP腳本來替換.htaccess文件中的/ foo/bar,但這不是一個給PHP寫入.htaccess的明智決定。理想情況下,我希望有一個簡單的.txt文件可以包含在/ foo/bar中,然後PHP可以編寫該.txt文件。

這是可能的,還是有任何其他方式來完成這件事?從本質上講,重要的是PHP可以在不重啓Apache的情況下安全地更改根文件夾。

+0

如果在'.htaccess'中包含一個'txt'文件,並允許PHP更改'txt'文件,這與給PHP寫入'.htaccess'權限是不是一樣? – pjmorse

+0

另請參見:PHP對網站根目錄的評估是在每次頁面加載時發生的,還是由其他因素引發的?換句話說,如果不是重新啓動,你是否可以逃避Apache配置重載(特別是迫使Apache重新評估環境變量)? – pjmorse

+0

.htaccess文件中還有其他規則,因此它沒有給它完全訪問權限。 – user2406459

回答

1

您可能需要查看RewriteMap,但實際上,我會創建一個符號鏈接,並將其指向適當的位置。

+0

我確實看過RewriteMap,但在這種情況下不起作用。 – user2406459

+0

用於符號鏈接。這可能是解決這個問題最簡單的方法。 – rpkamp