我在构建一个应用程序时让 lighttpd 和 apache 协同工作。lighty 提供静态内容。但是,每次请求静态资产时,我都会not found: favicon.ico
在日志中看到一条消息。我添加了以下 URL 重写:
url.rewrite-once = (
"^/favicon.ico$" => "/assets/images/favicon.png"
)
但无济于事;仍然收到消息。有什么想法吗?
答案1
我想为您的情况提出一个可能更简单、更好的解决方案。
为什么不将 PNG 文件转换为 ICO?事实上,icotool 似乎部分就是为此目的而存在的。以下代码片段摘自手册页:
icotool -c -o favicon.ico mysite_32x32.png mysite_64x64.png
还有命令行工具,例如 ImageMagick,如果您需要自动调整图像大小以实现此目的。
答案2
您好,我假设您的重写看起来更像这样,并且您尝试同时为多个域重写。
$HTTP["host"] =~ "^hostname.com$" { url.rewrite-once = ( "^/favicon.ico$" => "/assets/images/favicon.png") }
我唯一能想到的另一个原因是 mod_rewrite 没有启用
服务器.模块 = ( “mod_rewrite”,
您的重写一次规则对我来说看起来很好,所以我猜测它不在您的配置文件中的正确位置。
答案3
如果 Web 浏览器请求 .ico 文件,您无论如何都不应该转而向其提供 .png 文件。如果您的服务器上不存在 favicon.ico,则向浏览器提供 404 错误是适当的。如果您想将这些错误消息从日志文件中移除,那就是另一个问题了。