如果图片不存在,请显示.htaccess的no_picture.png

mTu*_*ran 12 .htaccess redirect rewrite http-status-code-404

如果请求的图片不存在,我想显示no_picture.png.我应该用.htaccess来做.非常感谢.

ran*_*dom 26

RewriteEngine On
RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .*$ /no_picture.png [L]
Run Code Online (Sandbox Code Playgroud)

让我们分解每条线的含义.

RewriteCond %{REQUEST_URI} \.(jpg|jpeg|gif|png|ico)$ [NC]
Run Code Online (Sandbox Code Playgroud)

检查请求的文件是否在括号中是文件扩展名().在这种情况下,我们正在测试,看看文件名在任一结束.jpg,.jpeg,.gif,.png或者.ico

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
Run Code Online (Sandbox Code Playgroud)

检查文件是否存在,它也不是目录.

RewriteRule .*$ /no_picture.png [L]
Run Code Online (Sandbox Code Playgroud)

如果请求的资源/文件通过了所有这些测试,那么它就是一个不存在的图像.因此请将图像提供no_picture.png给浏览器.这将保留文件名.如果要重定向到no_picture.png文件名,请更改[L][R]