Answers:
我将元代码添加到我的头上,但我仍然仍然收到browserconfig.xml请求。
所以我认为最好的方法是 根据他们的说法:http : //msdn.microsoft.com/browserconfig.xml
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
</msapplication>
</browserconfig>
Microsoft的MSDN页面“ 浏览器配置架构参考”中有一个示例。
您将browserconfig.xml
文件放在Web服务器的根文件夹中。
您还可以包括:
<meta name="msapplication-config" content="none"/>
在您的HTML中,以防止IE查找此文件(如果可以的话)。
最简单的解决方案实际上是只使用官方的Microsoft Browserconfig.xml文件构建器:http : //www.buildmypinnedsite.com
您可以构建一个完整的xml文件,只需3个步骤即可获得徽标的所有大小的图像。我只是在我的网站上这样做,只用了2分钟。
它将生成完整的browserconfig.xml文件,并将所有标题的图像提供在一个zip文件中。
编辑1/8/2015:我刚刚找到了另一个选择:http : //realfavicongenerator.net/
该网站的好处是生成您的browserconfig.xml以及所有apple-touch- *图标,favicon等。基本上,一站式网站可以一次生成所有内容。
添加meta
标签可能会,也可能不会。我们添加了此标签,但仍收到404错误browserconfig.xml
始终始终请求。最后,我们决定做一个简单的xml。
我们browserconfig.xml
看起来像这样,基本上它只是告诉4张图像在哪里。
<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
<msapplication>
<tile>
<square70x70logo src="/mstile-70x70.png"/>
<square150x150logo src="/mstile-150x150.png"/>
<wide310x150logo src="/mstile-310x150.png"/>
<square310x310logo src="/mstile-310x310.png"/>
<TileColor>#8bc53f</TileColor>
<TileImage src="/mstile-150x150.png" />
</tile>
</msapplication>
</browserconfig>
并将其放在您的html中:
<meta name="msapplication-config" content="/browserconfig.xml" />
现在可以了
您也可以将其添加到HTML中,并将配置设置为“ none”,如下所示:
<meta name="msapplication-TileColor" content=" #009900" />
<meta name="msapplication-square70x70logo" content="images/smalltile.png" />
<meta name="msapplication-square150x150logo" content="images/mediumtile.png" />
<meta name="msapplication-wide310x150logo" content="images/widetile.png" />
<meta name="msapplication-square310x310logo" content="images/largetile.png" />
<meta name="msapplication-config" content="none"/>
资料来源:
http://samples.msdn.microsoft.com/iedevcenter/PinnedSites/scenario1.html https://msdn.microsoft.com/library/dn320426
还有第三种方法可以防止browserconfig.xml
用404错误填充日志文件。您可以从服务器返回空值(444),然后仅关闭该位置的日志记录。这是相关的,因为favicon.ico忽略了meta head标签和浏览器调用它(也生成404),因此执行相同的操作。问题不仅仅在于这个不需要的文件。
关于防止在browser.xml上的日志中发生404错误的特定问题-对于NGINX,您可以在服务器块内的文件中创建一个新文件/etc/nginx/snippets/
,然后在#include
该文件中创建该文件/etc/nginx/sites-available/example.org
。
示例:/etc/nginx/snippets/block-known-errors.conf
具有以下内容:
location ~* /(favicon.ico|browserconfig.xml)$
{ access_log off; log_not_found off; return 444; }
然后在您的配置中/etc/nginx/sites-available/example.org
添加:
include /etc/nginx/snippets/block-known-errors.conf;
请注意,NGINX中的位置规范中使用的是正则表达式,并且不区分大小写。并且因为它是一个location
必须在server
规范内。
实际上,/etc/nginx/snippets/
根据安全性/技术要求,我们实际上将我们的包含项嵌套在该文件夹中,并具有一个全局包含项和针对特定站点的其他包含项。这使我们的端点几乎可以通过添加一个文件或编辑现有文件来管理日志来立即解决全局问题。
使用OSSEC和ELK堆栈,您只能看到很多东西。
我确信Apache中的mod_rewrite也可以做到这一点。