出于某种疯狂的原因,可能是恶意网站扫描程序,对网站服务器的 favicon 请求在网站的所有已知缝隙中都相当普遍。由于该文件可能仅存在于网站的根目录中,因此这些请求会导致 404 错误。如果您的服务器提供了一个花哨的用户友好型 404 页面,这可能会毫无理由地增加大量带宽。
此代码将使这些请求提供真实的 favicon,从而节省带宽。
# REDIRECT FAVICON.ICO
<ifmodule mod_rewrite.c>
RewriteCond %{REQUEST_URI} !^/favicon\.ico [NC]
RewriteCond %{REQUEST_URI} favicon\.ico [NC]
RewriteRule (.*) https://css-tricks.cn/favicon.ico [R=301,L]
</ifmodule>
另一个常见的是对名为 ajax-loader.gif 的文件的请求,可能是恶意扫描程序正在寻找易于利用的制作粗糙的 ajax 应用程序。确保该文件确实存在,并强制所有对它的请求都指向该真实位置。
# REDIRECT AJAX-LOADER
<ifmodule mod_rewrite.c>
RewriteCond %{REQUEST_URI} !^/images/ajax\-loader\.gif [NC]
RewriteCond %{REQUEST_URI} ajax\-loader\.gif [NC]
RewriteRule (.*) https://css-tricks.cn/images/ajax-loader.gif [R=301,L]
</ifmodule>
另一种方法是在 404 页面检测到请求是针对“favicon.ico”时直接执行 die() 函数。
非常棒,谢谢你的提供。
嗨,Chris!
非常感谢这段代码片段。由于这个,我能够解决 YSlow 的 favicon 错误。
非常感谢!