我如何在Lithium中渲染favicon?
现在我的布局中有这个:
<?php echo $this->html->link('Icon', null, array('type' => 'icon')); ?>
然而,favicon没有显示出来。尝试通过Chrome Inspector查看favicon资源会向我显示图像已损坏。
我尝试通过HTTP下载图片,图片为空:
$ wget http://example.org/favicon.ico
--2012-05-17 00:13:58-- http://example.org/favicon.ico
Resolving example.org... xx.xx.xx.xxx
Connecting to example.org|xx.xx.xx.xxx|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 0 [image/x-icon]
Saving to: `favicon.ico'
[ <=> ] 0 --.-K/s in 0s
2012-05-17 00:13:59 (0.00 B/s) - `favicon.ico' saved [0/0]
但是,如果我将图像scp到我的本地磁盘并查看它,我可以以正确的格式查看正确的图标。
我是否必须设置自定义媒体类型?如果是这样,我将如何为图像(favicon)等资源执行此操作? 我假设这不是必需的,默认情况下可以渲染一个favicon。
修改 我忘了提到我在本地查看它时可以通过HTTP查看favicon(开发环境)但是当我尝试远程查看它(生产环境)时,favicon不能正常渲染。
编辑2 我的重写规则:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !favicon.ico$
RewriteRule ^ index.php [QSA,L]
</IfModule>
感谢。
编辑3 我已经设置了一个测试Lithium应用程序: http://dev.koobi.co/favicon/
我唯一改变的是布局文件和config/bootstrap/libraries.php
如您所见,图标文件也没有为此加载。
答案 0 :(得分:0)
你不需要做什么特别的事。 仔细检查webroot /目录中是否有有效的favicon.ico。 Lithium附带一个你可以使用的图标。
答案 1 :(得分:0)
原来这是Hostgator的一个问题。锂电池工作正常。 显然,Hostgator Apache规则不允许动态呈现favicons。