2017-09-14 37 views
0

我使用以下規則檢查png是否存在。針對特定請求url格式應用重寫

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^(?!.+/default\.png$).+\.png$ /web/team/default.png [L,NC,R=301] 

如果沒有它會重定向到default.png

規則將立即重定向在我的網站上所有的PNG這個default.png即使PNG文件是存在的。

我要重新生成規則如果請求的URL具有以下模式

host + /web/images/team/anyimagehere.png 

如果PNG不存在,則觸發規則重定向

注意,這條道路被應用文件系統中不存在/web/images/team/。它基於應用程序,因此只能由應用程序根據請求生成。

任何在這裏建議如何調整這條規則?

回答

0

如果我理解正確,你正在努力實現你能做到這一點,像這樣的內容:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ^web/images/team/(.+)\.png /web/team/default.png [L,NC,R=301] 

演示在這裏:http://htaccess.mwl.be?share=669f961b-d3c8-55e1-af32-bced3a260e73

+0

的邏輯是正確的,但我仍然可以從應用程序時看到500錯誤我請求不存在的文件curl -I http://hosthere/web/images/team/555.png HTTP/1.1 500內部服務器錯誤 日期:2017年4月14日星期四09:05:57 GMT – Jecki