Internet Explorer 上的 Cakephp Favicon
Cakephp Favicon on Internet Explorer
我正在尝试在 IE 上设置网站图标,因为我总是收到警告说它没有被访问。
2017-03-06 19:43:25 Error: [Cake\Routing\Exception\MissingControllerException] Controller class Favicon.ico could not be found.
在其他浏览器上,它们没有问题。
我有以下代码
<link rel="icon" type="image/x-icon" href="url/favicon/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/x-icon" href="url/favicon/favicon-16x16.png" sizes="16x16">
<link rel="shortcut icon" href="url/favicon/favicon-16x16.png" type="image/x-icon">
然而,它仍然报错。
有什么想法吗?
TL;DR
创建一个名为 favicon.ico
的图标文件并将其放在站点的根目录下。
详情
按照惯例,IE 在访问站点时会查找 /favicon.ico
。现代版本也支持PNG图标,所以这个问题是无害的,可以忽略。
如何解决此问题:
- 在您网站的根目录提供
favicon.ico
。这将防止失败,同时为某些浏览器提供他们正在寻找的内容。
- 制作 CakePHP 忽略错误。显然,访问技巧 CakePHP 认为这必须路由到某些 PHP 代码。如果 CakePHP 可以将这种访问视为它的本来面目(即对静态文件的访问),它就会以它应该的方式结束:一个常规的 404 错误。没有人喜欢 404,但至少这是正确的行为,这与寻找名为 Favicon.ico.
的假想控制器不同
谢谢大家的回答
修复了路由问题
Router::redirect(
'/favicon.ico',
'url.ico', array('status' => 302)
);
我正在尝试在 IE 上设置网站图标,因为我总是收到警告说它没有被访问。
2017-03-06 19:43:25 Error: [Cake\Routing\Exception\MissingControllerException] Controller class Favicon.ico could not be found.
在其他浏览器上,它们没有问题。
我有以下代码
<link rel="icon" type="image/x-icon" href="url/favicon/favicon-32x32.png" sizes="32x32">
<link rel="icon" type="image/x-icon" href="url/favicon/favicon-16x16.png" sizes="16x16">
<link rel="shortcut icon" href="url/favicon/favicon-16x16.png" type="image/x-icon">
然而,它仍然报错。
有什么想法吗?
TL;DR
创建一个名为 favicon.ico
的图标文件并将其放在站点的根目录下。
详情
按照惯例,IE 在访问站点时会查找 /favicon.ico
。现代版本也支持PNG图标,所以这个问题是无害的,可以忽略。
如何解决此问题:
- 在您网站的根目录提供
favicon.ico
。这将防止失败,同时为某些浏览器提供他们正在寻找的内容。 - 制作 CakePHP 忽略错误。显然,访问技巧 CakePHP 认为这必须路由到某些 PHP 代码。如果 CakePHP 可以将这种访问视为它的本来面目(即对静态文件的访问),它就会以它应该的方式结束:一个常规的 404 错误。没有人喜欢 404,但至少这是正确的行为,这与寻找名为 Favicon.ico. 的假想控制器不同
谢谢大家的回答
修复了路由问题
Router::redirect(
'/favicon.ico',
'url.ico', array('status' => 302)
);