我希望有一種方法可以用mod_rewrite和Apache來做到這一點,但也許還有另一種方法可以考慮。僅當文件未找到時才重定向請求?
在我的網站上,我爲客戶設置了用於網站重新版本的目錄。如果Web根目錄是/home/blah/www
,則客戶端目錄將是/home/blah/www/clients/abc
。當您通過Web瀏覽器訪問客戶端目錄時,如果它們存在,我希望它使用客戶端目錄中的任何請求的文件。否則,我希望它使用Web根目錄中的文件。
例如,假設客戶不需要他們自己的index.html
。因此,有些代碼會確定/home/blah/www/clients/abc
中沒有index.html
,而是使用/home/blah/www
中的那個。請記住,我不想隨時將客戶端重定向到Web根目錄,如果客戶端目錄沒有指定它自己的副本,我只想使用具有該名稱的Web根目錄文件。網絡瀏覽器應該仍然指向/clients/abc
該文件是否存在那裏或者在根目錄中。同樣,如果在客戶端目錄中有news.html
的請求,並且確實存在,則只需提供該文件而不是Web根目錄news.html
即可。用戶的體驗應該是無縫的。
我需要這個來處理任何文件名上的請求。例如,如果我需要爲每個可能需要重定向的文件添加一個新行,則.htaccess
會違反目的,因爲需要進行過多的維護,並且在出現大量文件的情況下出現錯誤的可能性很大。
在您的示例中,請指明您的代碼是否位於客戶端目錄中的.htaccess文件或Web根目錄中。 Web根目錄是首選。
似乎太短,做我想做的。你能解釋一下這個邏輯嗎?謝謝! – DivideByHero 2009-02-27 15:18:15