什么是网站的简单/最小browserconfig.xml

drc*_*uck 108 internet-explorer http-status-code-404 windows-8

我不想做任何关于Windows 8和固定的特殊或棘手的事情,我只是不希望看到404 Not Found消息,因为IE browserconfig.xml在我的日志文件中寻找滚动.

有一个简单的browserconfig.xml文件,我可以放在我的根目录,将满足IE,并作为一个好的占位符,如果我决定以后添加更好的支持Window 8?

mus*_*usa 76

我将元代码添加到我的脑海中,但我仍然收到了browserconfig.xml请求.

所以我认为最好的方法是; 根据他们:http://msdn.microsoft.com/browserconfig.xml

<?xml version="1.0" encoding="utf-8"?>
<browserconfig>
    <msapplication>
    </msapplication>
</browserconfig>
Run Code Online (Sandbox Code Playgroud)


小智 57

Microsoft的MSDN页面浏览器配置架构参考中有一个示例.

您将该browserconfig.xml文件放在Web服务器的根文件夹中.

您还可以包括:

<meta name="msapplication-config" content="none"/>
Run Code Online (Sandbox Code Playgroud)

在您的HTML中,以防止IE查找此文件,如果这是一个可能适用的选项.

  • 虽然我的页面上有元标记,但我很少看到来自标识为IE 11的用户代理对browserconfig.xml的请求.因此,摆脱这些404的真正唯一方法就是为browserconfig添加一个空文件. XML.我尝试使用空文件固定,并且没有看到有或没有空文件的差异. (6认同)
  • 那个例子不是"最简单/最小" (4认同)

Lau*_*nce 40

最简单的解决方案实际上就是使用官方的Microsoft Browserconfig.xml文件构建器:http://www.buildmypinnedsite.com

您可以构建一个完整的xml文件,只需3个步骤即可获得徽标的所有大小的图像.我只是为我的网站做了它只需要2分钟.

它将生成一个完整的browserconfig.xml文件,并在一个zip文件中提供所有标题图像.

编辑2015年1月8日:我刚刚找到了另一个选项:http://realfavicongenerator.net/

这个网站的好处是生成你的browserconfig.xml和所有你的apple-touch-*图标,favicon等基本上是一站式网站,用于生成一切.

  • 这是一个很好的解决方案,但并没有真正回答OP,因为他们只想要一个占位符. (3认同)

小智 20

添加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>
Run Code Online (Sandbox Code Playgroud)

把它放在你的HTML中:

<meta name="msapplication-config" content="/browserconfig.xml" />
Run Code Online (Sandbox Code Playgroud)

现在没关系


tot*_*tas 7

您也可以将它添加到您的 HTML 并将配置设置为“无”,如下所示:

<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"/>
Run Code Online (Sandbox Code Playgroud)

资料来源:

http://samples.msdn.microsoft.com/iedevcenter/PinnedSites/scenario1.html https://msdn.microsoft.com/library/dn320426

  • 添加所有这些元标记可能是最糟糕的解决方案,IMO。如果您这样做,您将在 ** 每次** 页面视图中将所有数据发送给您网站的 ** 每个** 访问者。使用 browserconfig.xml 的两个优点是:1. 唯一得到任何东西的是运行浏览器的人,并且 2. 浏览器可以缓存文件并且不再下载它。 (6认同)

小智 5

还有第三种方法可以防止browserconfig.xml用 404 错误填充日志文件。您可以从服务器返回空值 (444) 并仅关闭该位置的日志记录。这是相关的,因为 favicon.ico 做同样的事情,忽略元头标签和调用它的浏览器(也生成 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; }
Run Code Online (Sandbox Code Playgroud)

然后在您的配置中/etc/nginx/sites-available/example.org添加:

include /etc/nginx/snippets/block-known-errors.conf;
Run Code Online (Sandbox Code Playgroud)

注意 NGINX 中的位置规范使用正则表达式并且不区分大小写。并且因为它是location必须在server规范内的。

在实践中,我们实际上将我们的包含嵌套在/etc/nginx/snippets/文件夹中,并根据安全/技术要求为特定站点设置一个全局包含和其他包含。这允许我们的端点通过添加一个文件或编辑现有文件来管理我们的日志,几乎立即修复全局问题。

使用 OSSEC 和 ELK 堆栈,您只能看到这么多杂物。

我确信 Apache 中的 mod_rewrite 也可以做到这一点。