根据404响应代码应用重写规则



我正在试图酸化这个,

if request  hit www.imagesserver.com/public/images/view/3421.png

然后

if response == 404

重定向或重写为

www.imagesserver.com/public/images/view/defualt.png

这仅适用于以下路径公共/图像/视图/*。png,实现此逻辑的最佳方法

您可以在public/images/view/.htaccess中使用此规则(如果不存在,则创建它):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(?!.+/defualt.png$).+.png$ /public/images/view/defualt.png [L,NC,R=307]

发行了404后您将无法真正这样做,但您可以事先进行:

RewriteCond ${REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !.(jpg|png)$
RewriteRule ^public/images/view/.* /public/images/view/defualt.png [L,R=301]

这检查请求的资源是否是文件或目录,仅应用规则,如果不是。

它还确保请求的资源具有特定的图像扩展-JPG/PNG在这种情况下,您可以根据需要使用可见的模式扩展该图像。

接下来,重写规则仅在 /public/images/view/中满足这些条件时会发射。

接下来,我将其设置为从缺失资源到默认图像的301重定向,以便清楚地显示客户端丢失。

注意:不确定是否有意,但是您在文件名中有一个错字的默认图像:defualt.png

最新更新