我对 htaccess 重写相当陌生,想知道是否有人可以为我提供解决方案。因此,在我的网站上,我的用户具有以下格式的自定义头像图像。
http://siteurl.tld/customavatars/avatar78364_1.gif
(其中数字 (78364_1) 是用户 ID)
每个用户都会生成自己的自定义头像图像链接,即使他们没有上传图像。这是问题所在,目前我正在使用 ErrorDocument 404/images/icons/no-avatar.png 作为没有上传自己图像的任何用户的默认图像。这个 404 对 SEO 不利,所以我想做的是使用重写来保留原始 URL,但提供 headless 像图像文件。
实际上任何人都会去http://siteurl.tld/customavatars/avatarUSERID_HASNOIMAGE.gif仅显示默认图像,而不会重定向到浏览器 URL 中的 no-avatar.png。
最佳答案
这应该够了吧:
RewriteCond %{REQUEST_FILENAME} avatar.*\.gif$
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule /.* http://siteurl.tld/customavatars/no-avatar.png [R=301,L]
实际上,任何以 avatar 开头并以 .gif 结尾但不存在的请求文件都会以 http://siteurl.tld/customavatars/no-avatar.png 来回答。
希望能帮助到你 :)
关于apache - 如果未找到请求的图像 URL,则使用 mod_rewrite 调用默认图像 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42952559/