2017-06-06 86 views
1

我有下面的htaccess代碼,我需要它才能工作,如果它不是圖像。現在它使所有的圖像看起來好像它們不存在於網站上的頁面上。重寫規則以排除圖像

# If there are caps, set HASCAPS to true and skip next rule 

RewriteRule [A-Z] - [E=HASCAPS:TRUE,S=1] 

# Skip this entire section if no uppercase letters in requested URL 
RewriteRule ![A-Z] - [S=28] 

# Replace single occurance of CAP with cap, then process next Rule. 

RewriteRule ^([^A]*)A(.*)$ $1a$2 
RewriteRule ^([^B]*)B(.*)$ $1b$2 
RewriteRule ^([^C]*)C(.*)$ $1c$2 
RewriteRule ^([^D]*)D(.*)$ $1d$2 
RewriteRule ^([^E]*)E(.*)$ $1e$2 
RewriteRule ^([^F]*)F(.*)$ $1f$2 
RewriteRule ^([^G]*)G(.*)$ $1g$2 
RewriteRule ^([^H]*)H(.*)$ $1h$2 
RewriteRule ^([^I]*)I(.*)$ $1i$2 
RewriteRule ^([^J]*)J(.*)$ $1j$2 
RewriteRule ^([^K]*)K(.*)$ $1k$2 
RewriteRule ^([^L]*)L(.*)$ $1l$2 
RewriteRule ^([^M]*)M(.*)$ $1m$2 
RewriteRule ^([^N]*)N(.*)$ $1n$2 
RewriteRule ^([^O]*)O(.*)$ $1o$2 
RewriteRule ^([^P]*)P(.*)$ $1p$2 
RewriteRule ^([^Q]*)Q(.*)$ $1q$2 
RewriteRule ^([^R]*)R(.*)$ $1r$2 
RewriteRule ^([^S]*)S(.*)$ $1s$2 
RewriteRule ^([^T]*)T(.*)$ $1t$2 
RewriteRule ^([^U]*)U(.*)$ $1u$2 
RewriteRule ^([^V]*)V(.*)$ $1v$2 
RewriteRule ^([^W]*)W(.*)$ $1w$2 
RewriteRule ^([^X]*)X(.*)$ $1x$2 
RewriteRule ^([^Y]*)Y(.*)$ $1y$2 
RewriteRule ^([^Z]*)Z(.*)$ $1z$2 

# If there are any uppercase letters, restart at very first RewriteRule in file. 
RewriteRule [A-Z] - [N] 

RewriteCond %{ENV:HASCAPS} TRUE 

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

我已經嘗試添加RewriteCond %{REQUEST_URI} !\.(gif|jpe?g|png)$ [NC]但要麼沒有工作或我把它放錯了地方。

+0

檢查[這](https://stackoverflow.com/questions/12606470/excluding-images-from- mod-rewrite-rule) –

+0

也嘗試過......我必須把它放在錯誤的地方。嗯... – KDJ

+0

答案 - 呃建議成爲第一條規則。 –

回答

1

將這個規則在你的.htaccess跳過所有現有文件和目錄的頂部:

# skip all files and directories from rewrite rules below 
RewriteCond %{REQUEST_FILENAME} -d [OR] 
RewriteCond %{REQUEST_FILENAME} -f 
RewriteRule^- [L]