如果找不到请求的图像URL,则使用mod_rewrite调用默认图像URL

时间:2017-03-22 13:07:40

标签: apache .htaccess mod-rewrite centos http-status-code-404

我对htaccess重写很新,并想知道是否有人可以为我提供解决方案。因此,在我的网站上,我有以下格式的用户自定义头像图像。

http://siteurl.tld/customavatars/avatar78364_1.gif (数字(78364_1)是用户ID)

每个用户都会获得自己的customavatars图片链接,即使他们没有上传图片也是如此。这是问题,目前我正在使用ErrorDocument 404 /images/icons/no-avatar.png作为没有上传自己图像的任何用户的默认图像。这个404不适合搜索引擎优化,所以我想尝试做的是使用重写来保留原始网址但服务于无头像图像文件。

实际上,任何前往http://siteurl.tld/customavatars/avatarUSERID_HASNOIMAGE.gif的人都会显示默认图片,而不会被重定向到浏览器网址中的no-avatar.png。

1 个答案:

答案 0 :(得分:0)

应该这样做:

RewriteCond %{REQUEST_FILENAME} avatar.*\.gif$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /.* http://siteurl.tld/customavatars/no-avatar.png [R=301,L]

有效地,任何以头像开头并以.gif结尾但不存在的请求文件都会被http://siteurl.tld/customavatars/no-avatar.png

回答

希望有所帮助:)