【问题标题】:How to separate Microsoft Edge from Chrome in htaccess?如何在 htaccess 中将 Microsoft Edge 与 Chrome 分开?
【发布时间】:2015-10-25 00:48:14
【问题描述】:

我的 .htaccess 文件中有这个:

RewriteEngine on

RewriteCond %{HTTP_USER_AGENT} Chrome
RewriteRule ^(.*)$ page.php [NC,L]

Microsoft Edge 浏览器认为它是 Chrome 并转到 page.php。有什么办法可以避免 Edge 使用 Chrome 命令,所以它不会去 page.php?

我用谷歌搜索了很多,但我没有找到任何如何引导 Edge 浏览器的方法。有什么帮助吗?谢谢!!

【问题讨论】:

  • 微软的新 Spartan 引擎将自己伪装成 Chrome。 neowin.net/news/…
  • RewriteCond %{HTTP_USER_AGENT} Edge RewriteRule ^index.php$ edge.php [NC,L]

标签: php .htaccess google-chrome microsoft-edge


【解决方案1】:

Edge user agent 中包含 Edge 一词,例如

Mozilla/5.0(Windows NT 10.0;Win64;x64)AppleWebKit/537.36(KHTML,如 Gecko)Chrome/42.0.2311.135 Safari/537.36 Edge/12。

它也有 Chrome 这个词,所以将 Edge 的重写规则放在 Chrome 之前。

请注意,这是done intentionally(感谢@Axalix 提供链接)

您今天访问的许多网站在 IE 中无法很好地显示,因为它们没有正确编码,并且通常会像在旧浏览器中一样显示页面,即使 Internet Explorer 11 支持许多新的 Web 标准。某些页面在 IE 中显示不正确,而在其他浏览器(例如 Chrome 或 Firefox)上运行良好。

因此,您可能不想以与 Chrome 不同的方式对待 Edge。当然不要只是假设它就像一个新版本的 IE。

有什么办法可以避免 Edge 使用 Chrome 命令,所以它不会转到 page.php?

这不是命令,而是浏览器发送的用户代理标头。不,您不能阻止 Edge 浏览器发送他们所做的用户代理。

【讨论】:

  • 我现在就是这样:code RewriteEngine on RewriteCond %{HTTP_USER_AGENT} Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0。 2311.135 Safari/537.36 边缘/12。 RewriteRule ^(.*)$ one.html [NC,L] RewriteCond %{HTTP_USER_AGENT} Chrome RewriteRule ^(.*)$ two.html [NC,L] code ...它适用于 Edge,但现在 Chrome也转到第一页 one.html ......我仍然可以将 Chrome 发送到第二页 (two.html) ??
  • 我想我现在明白了...我只是使用上面的代码并通过将“Chrome”替换为“Edge”(将其添加到 Chrome 之前)来复制 Chrome 部分,然后将第三部分替换为“ Firefox”,然后 IE 和 Safari 似乎默认进入索引。非常感谢!
猜你喜欢
  • 2021-06-27
  • 1970-01-01
  • 2021-05-10
  • 2020-07-26
  • 2020-02-20
  • 2015-09-18
  • 1970-01-01
  • 2019-11-03
  • 1970-01-01
相关资源
最近更新 更多