对特定请求url模式应用重写

时间:2017-09-14 06:52:05

标签: apache .htaccess mod-rewrite httpd.conf

我使用以下规则来检查png是否存在。

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文件存在,规则现在会将我网站中的所有png重定向到此default.png

如果请求网址具有以下格式,我想重新生成要应用的规则

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

如果此png不存在,则触发规则以重定向

请注意,文件系统中不存在此路径/web/images/team/。它基于应用程序,因此只能由应用程序根据请求生成。

这里有任何建议如何调整此规则?

1 个答案:

答案 0 :(得分: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