微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

替换 htaccess 中不存在的图片

如何解决替换 htaccess 中不存在的图片

在stackoverflow上进行一系列搜索后,我得到了这两个有效的htaccess代码,但是,我很困惑哪个更好。

实际上两者都可以正常工作,但在性能或速度上有什么不同吗?

<FilesMatch "\.(jpg|jpeg|png|gif)$">
ErrorDocument 404 "/no_profile_picture.png"
</FilesMatch>

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

解决方法

当在您的站点根目录中找不到带有 /no_profile_picture.png 扩展名的图像时,这两个指令都将用于显示 jpg|jpeg|gif|png|ico 的核心目的。但是有细微的差别。

<FilesMatch "\.(jpg|jpeg|png|gif)$">
ErrorDocument 404 "/no_profile_picture.png"
</FilesMatch>

此指令还将向浏览器/客户端返回 404 (Http NotFound) 状态,但另一个块仍将 200 (Http OK) 状态返回给客户端。因此,我建议使用 FilesMatch 块以正确显示所需的未找到图像并将 404 返回给客户端。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。