2012-07-15 70 views
0

我已將下列代碼實施到我的.htaccess文件中,以將所有下劃線轉換爲破折號。Mod重寫將下劃線轉換爲影響嵌入圖像的破折號

RewriteRule ^([^_]*)_([^_]*_.*) $1-$2 [L] 
RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301] 

上面的代碼有效,但從my/images目錄中嵌入圖像時遇到問題。

例如,如果其中一個圖像文件名稱包含下劃線,則無法正確加載。

如何從上述規則中發出圖像和javacript文件名?

有沒有另一種方法呢?

回答

0

爲2條規則添加一些條件。您可以選擇「檢查請求是否存在不存在的文件」,或者「檢查請求是否以(jpeg | png | bmp | gif)結束」。第一個應該包括訪問其他資源的URL(javascript,css等),所以它們不會有下劃線轉換,第二個只處理圖像。您需要添加上述兩個規則的條件:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^_]*)_([^_]*_.*) $1-$2 [L] 

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301] 

或者

RewriteCond %{REQUEST_URI} !\.(jpe?g|png|bmp|gif)$ [NC] 
RewriteRule ^([^_]*)_([^_]*_.*) $1-$2 [L] 

RewriteCond %{REQUEST_URI} !\.(jpe?g|png|bmp|gif)$ [NC] 
RewriteRule ^([^_]*)_([^_]*)$ /$1-$2 [L,R=301] 
相關問題