我有以下情况:
netsh http add urlacl url=http://mycomputername...:8080/ user=\Jeder
(德语中的每个人)<binding protocol="http" bindingInformation="*:8080:mycomputername" />
我通过<?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-Logfiles(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?
答案 0 :(得分:0)
我自己修好了(来源:http://msdn.microsoft.com/de-de/cc817572.aspx) 我只是添加了一个自定义http标头,用于禁用wp8以通过web.config中的以下条目为Intranet站点选择兼容模式。
<system.webServer>
<httpProtocol>
<customHeaders>
<clear />
<add name="X-UA-Compatible" value="IE=EDGE" />
</customHeaders>
</httpProtocol>
</system.webServer>