【问题标题】:Wrong user agent WP8.1 on IISExpressIISExpress 上的用户代理 WP8.1 错误
【发布时间】:2015-01-13 16:43:45
【问题描述】:

我有以下情况:

  • 我正在使用 Webmatrix 3(内部使用 IISExpress)和 PHP 5.5 托管本地服务器
  • 我打开 Webmatrix 以通过以下方式为外部(即 LAN 中)流量提供服务
    • 命令提示符netsh http add urlacl url=http://mycomputername...:8080/ user=\Jeder(所有人都是德语)
    • 将 localhost 绑定到 applicationhost.config 中的 mycomputername <binding protocol="http" bindingInformation="*:8080:mycomputername" />
    • 在我的防火墙中打开了端口 8080 的传入请求
  • 我已经在我的本地服务器上安装了 Kirby CMS,我可以使用 WP8.1 Lumia 1020 和 Nexus 5 在 LAN 内联系。访问管理面板时 我收到一个 http 500 错误在 Lumia 上的 IE 上而不是在 Nexus 上。

我检查了<?php echo $_SERVER['HTTP_USER_AGENT'];?> 的用户代理,结果是 Nexus 5 的字符串正确,但 Lumia 的字符串不正确。在外部 ua-checker 上,Lumia 正确返回 "Mozilla/5.0 (Windows Phone 8.1; ARM; Trident/7.0; Touch; tv:11.0; IEMobile/11.0; NOKIA; 909) like Gecko"

但本地 Lumia 返回Mozilla/4.0 (compatible; MSIE 7.0; Windows Phone OS 7.0; Trident/3.1; IEMobile/7.0; NOKIA; 909)

这也记录在例如 IIS 日志文件中 (IISExpress/Logs/MyWebsite/ex150112.log)

#Software: Microsoft Internet Information Services 8.0
 2015-01-12 23:28:22 ... POST /panel/login - 8080 - ... Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+Phone+OS+7.0;+Trident/3.1;+IEMobile/7.0;+NOKIA;+909) http://mycomputername:8080/panel/login 500 0 0 93

我认为 IEMobile 可能在内部使用了一些我们从 Desktop-IE 知道的兼容模式。但是为什么只针对这个本地站点呢?

长话短说,为什么 IEMobile/WP8.1 发送不正确的用户代理字符串?这是因为一个奇怪的 IISExpress PHP5.5 安装导致了错误检测吗?或者 WP8.1 是否总是向本地 Webmatrix 站点发送虚假 ua?或者这是 IEMobile 中的错误? 以及如何将服务器端收到的 ua 更改为正确的 ua?

【问题讨论】:

  • 不知道这是否是错误,但您的第一个字符串表示 IE11,第二个字符串表示它正在运行 IE7 兼容模式(这很烦人)。也许你可以禁用它并让它正常工作?
  • 如何在 windows phone 上禁用兼容模式?或者我可以在服务器端吗?
  • 您应该回答自己的问题并将其标记为已接受,以便其他发现此问题的人知道是它。

标签: php windows-phone-8 user-agent webmatrix iis-express


【解决方案1】:

我自己修好了(来源:http://msdn.microsoft.com/de-de/cc817572.aspx) 我只是通过 web.config 中的以下条目添加了一个自定义 http 标头,用于禁用 wp8 以选择 Intranet 站点的兼容模式。

<system.webServer>
    <httpProtocol>
         <customHeaders>
            <clear />
            <add name="X-UA-Compatible" value="IE=EDGE" />
         </customHeaders>
      </httpProtocol>
</system.webServer>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 2013-04-18
    • 2011-09-12
    • 1970-01-01
    相关资源
    最近更新 更多