2012-11-13 82 views
0

使用以下RewriteCond我想有一個不是圖像,CSS或JS的所有文件的規則。錯誤的路徑混淆了Apache?

RewriteCond %{REQUEST_FILENAME} !\.(ico|jpg|jpeg|png|gif|js|css|svg|svgz)$ 

當文件路徑存在此規則正常工作......

但是當文件路徑不存在(被給予錯誤的路徑)規則繼續即使該文件結束從列表中擴展。

如何在包含路徑的規則中包含即使它們不存在?

更新:

將溶液使用%{REQUEST_URI}代替%{REQUEST_FILENAME}。

回答

0

OK,我發現這個問題:)

當路徑不存在映射到在FS真正的文件沒有設置REQUEST_FILENAME。使用REQUEST_URI代替解決問題並正確處理所有情況。

正確的指令:

RewriteCond %{REQUEST_URI} !\.(ico|jpg|jpeg|png|gif|js|css|svg|svgz)$