为什么收藏夹图标有时不显示并生成“找不到页面”错误,而其他时候却显示


8

正如问题所暗示的那样,Drupal的日志有时会显示找不到该图标。实际上,它不会显示在浏览器选项卡或地址栏中。在其他时间,即使在同一次冲浪会话中,它也会显示。

为什么要这样做,以及如何阻止它使收藏夹图标始终显示?

我正在使用版本Drupal 7.22。带有自定义子主题和管理主题(Stark)。

我的图标被设置在site / default / files / images / favicon.ico的子主题主题配置中,该图标位于我通过FTP检查的位置。

日志显示浏览器正在example.com/favicon.ico中。

<link rel="shortcut icon" href="http://example.com/sites/default/files/images/favicon.ico"; type="image/vnd.microsoft.icon" />在源代码中使用了自定义子主题,在管理主题(Stark)中使用了<link type="image/vnd.microsoft.icon" href="http://example.com/misc/favicon.ico"; rel="shortcut icon">该主题,并且该文件也位于该位置(当然,实际上并未使用example.com)。

Drupal使用的是干净的URL。

Web服务器是Debian Linux上的Apache。

谢谢。


如果您想为这些错误提供参考,可能会有所帮助,应该在日志中。
Mołot

@Molot在我已在日志中检查过的所有情况下,引荐来源网址字段为空白或网站的另一页。
authentictech

您是否可以在日志消息中进行编辑以显示路径,正在使用的Web服务器以及mod_rewrite是否有效(即干净的URL)?
mpdonadio

Answers:


4

一些浏览器在http://example.com/favicon.ico下搜索favicon 而不进行检查。但是他们现在是少数。

最尊重:

<link rel="icon" href="http://example.com/img/icon.png">

W3C所述

如果您的站点尝试使用该<link>方法但在某些页面上失败,例如使用其他模板呈现的管理页面,并且您在默认位置没有favicon.ico,则将获得准确描述的效果。

如果浏览器在适当时正在寻找 http://example.com/favicon.ico<link rel="shortcut icon">那是浏览器问题,而不是您的问题。这意味着浏览器(或至少它的一部分代码)已过时,除非它首先在正确的URI下查看并遇到另一个错误,但是随后您将在日志中看到两个错误,一个错误指向正确的位置,第二个错误指​​向过期的错误。在Mozilla的队列中,有许多关于FireFox不正确地检测图标的报告-例如本报告。它显示了即使是现代浏览器有时也可以退回到旧方法。


是的,日志显示浏览器正在example.com/favicon.ico中。我用于网站的自定义子主题确实提供了<link rel =“ shortcut icon” href =“ example.com/sites/default/files/images/favicon.ico ” type =“ image / vnd.microsoft.icon” />在源代码中(实际上不是example.com),它是正确的位置。如果我关闭叠加层,则管理主题正在使用<link type =“ image / vnd.microsoft.icon” href =“ example.com/misc/favicon.ico ” rel =“ shortcut icon”>,并且此文件也存在在那个位置。
authentictech

一切似乎都应该正确。那么这是浏览器问题还是网站问题?我要去哪里修理?谢谢。
authentictech

@authentictech(如果浏览器正在正确查找example.com/favicon.ico)<link rel="shortcut icon">是浏览器问题,而不是您的问题。这意味着浏览器已过时,除非它先在正确的位置下查看并出现另一个错误,但是随后您将在此浏览器之前的日志中看到它。我会更新我的问题。
Mołot

1
@MPD Apache可能不提供它;万神殿的nginx配置忽略了该规则(例如,如果我没记错的话)
克莱夫(Clive)

2
@authentictech Firefox有许多有关不当图标处理的公开错误报告。像这样一个例子。它的部分代码是古老的,悲伤的但真实的。如果要处理,你可以添加重写你的.htaccess,但它被盗号围绕浏览器的bug,而不是固定部位的bug。
Mołot

2

快速而简单的解决方法是使用“ 重定向”模块并对其进行重定向。

启用该模块后,请在from和to下admin/config/search/redirect/add使用favicon.ico,并应使用该主题的实际位置favicon.ico


该文件由.htaccess自动处理,因此该请求永远不会发送到Drupal以便重定向模块来处理它。
文森特

1
是的,它确实使Drupal成为可能。否则它将如何记录在Drupal日志中?我已经在生产中成功使用了这种方法。
cdmo

1
你是对的,我刚刚测试过。编辑了您原来的答案,以便我可以将我的下投票切换为上投票。
文森特


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.