Aka*_*wal 232 apple-touch-icon
我创建了一个新的rails3项目,但我在服务器日志中看到了多次跟踪日志.为什么我收到这些请求,我该如何避免这些?
在2012-09-18 20:03:53 +0530开始获取192.168.6.2的"/ apple-touch-icon-precomposed.png"
ActionController :: RoutingError(没有路由匹配[GET]"/ apple-touch-icon-precomposed.png"):
我没有在任何地方给出这个链接,也不想在任何地方渲染这个图像.我无法解释为什么要尝试加载此资源.
Joa*_*eme 207
我猜苹果设备会在设备所有者向其添加网站时发出这些请求.这相当于favicon.要解决此问题,请添加2 100×100 png文件,将其另存为apple-touch-icon-precomposed.png和apple-touch-icon.png,然后将其上传到服务器的根目录.在那之后,错误应该消失.
我注意到在试图从站点根目录加载图像的日志中有很多请求apple-touch-icon-precomposed.png和apple-touch-icon.png.我首先想到的是移动主题和插件的配置错误,但后来发现Apple设备会在设备所有者添加网站时发出这些请求.
资料来源:为什么网站管理员应该分析他们的404错误日志(2012年3月; Martin Brinkmann)
小智 61
如果Safari Web浏览器(Apple设备)中的用户访问您的站点.如果未按<head>以下顺序定义,则浏览器会尝试获取站点图标:
要解决此问题,请为Safari浏览器或Apple设备定义图标.将以上内容添加到您网站的主管部分:
<link rel="apple-touch-icon" href="/custom_icon.png"/>
Run Code Online (Sandbox Code Playgroud)
如果您想保持<head>清洁,请将图标上传到您网站的根目录,并使用正确的名称.
在默认的图标大小为57px.
您可以在iOS开发人员库中找到更多详细信息.
如果您在这里结束了谷歌搜索,这是一个简单的配置,可以防止该错误在Web服务器日志中显示:
Apache虚拟主机
Redirect 404 /apple-touch-icon-precomposed.png
<Location /apple-touch-icon-precomposed.png>
ErrorDocument 404 "apple-touch-icon-precomposed does not exist"
</Location>
Run Code Online (Sandbox Code Playgroud)
Nginx服务器块:
location =/apple-touch-icon-precomposed.png {
log_not_found off;
access_log off;
}
Run Code Online (Sandbox Code Playgroud)
PS:可能是您要添加apple-touch-icon.png和favicon.ico太。
请注意,即使用户没有将网站添加到iOS主屏幕,也会发生这种情况 - 例如,只要您使用Chrome for iOS打开网页,就会发生这种情况GET "/apple-touch-icon-precomposed.png".
我在ApplicationController中处理了这个和其他非HTML 404请求,如下所示:
respond_to do |format|
format.html { render :template => "error_404", :layout => "errors", :status => 404 }
format.all { render :nothing => true, :status => 404 }
end
Run Code Online (Sandbox Code Playgroud)
该format.all响应负责图像的像这样的PNG文件(不我的网站存在).
我终于解决了!!这是Mac 设备上的Web Clip功能。如果用户想在 Dock o Desktop 中添加您的网站,它会请求此图标。
You may want users to be able to add your web application
or webpage link to the Home screen. These links, represented
by an icon, are called Web Clips. Follow these simple steps
to specify an icon to represent your web application or webpage
on iOS.
Run Code Online (Sandbox Code Playgroud)
更多信息: https : //developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html
如何解决?: 添加一个图标来解决问题。
如果您不关心图标在各种 Apple 设备上看起来漂亮,只需添加
get '/:apple_touch_icon' => redirect('/icon.png'), constraints: { apple_touch_icon: /apple-touch-icon(-\d+x\d+)?(-precomposed)?\.png/ }
到您的config/routes.rb文件和一些icon.png到您的public目录。重定向到404.html而不是也icon.png有效。
| 归档时间: |
|
| 查看次数: |
147283 次 |
| 最近记录: |