2012-02-22 65 views
1

我想創建一個.htaccess文件,會做這樣的邏輯:mod_rewrite的父目錄

如果被請求的文件中找不到嘗試找到它上面的目錄 。

我不想重定向瀏覽器我只想在內部重寫請求。

我嘗試過並搜索了很多,但總是陷入困境,因爲(我從日誌中收集到)我可以重寫的地方,路徑始終沒有每個目錄前綴。在下面的例子中,.htaccess文件位於lang文件夾中。如果沒有找到lang特定文件,它應該從父文件夾中取出該文件。我知道可以通過對父目錄進行硬編碼或將.htaccess設置得更高來實現,但是現在我已經忍受了這麼長時間的嘗試,我會非常感興趣地瞭解這種方式是否可行。

strip per-dir prefix: X:/localhost/htdocs/peopletest/public/img/root_cli/lang/en/loginhead.gif -> en/loginhead.gif 
applying pattern 'somePattern' to uri 'en/loginhead.gif' 

感謝您的幫助。

SWK

回答

1

是這樣的嗎?

RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-f 
RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/%{SCRIPT_FILENAME} !-l 
RewriteRule /[^/+]/([^/]+)$ $1