在一个自定义 PHP 框架上,我实现了一个邮件类,让我知道何时发生 404。它会将 url、referrer 和 UA 字符串邮寄给我。
我收到了两种类型的无法解释的 404 报告,用于在网站上的任何地方都没有链接的 url。这种情况经常发生。我已经在报告来源的确切浏览器版本上进行了测试。我在 html 和 javascript 中都找不到任何错误。这些页面通常只包含一点点 javascript btw。
类型 1 示例:
source: http://www.example.com/articles/example-article
target (404): http://www.example.com/articles/undefined
User agents who have reported this:
- Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
(Chrome 30.0.1599.101 on win7)
- Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.0; Trident/5.0; BOIE9;ENUSMSE)
(IE9 on win vista)
- Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0;WUID=78780BB80C56415F887179239977F107;WTB=6581)
(IE10 on win 8)
类型 2 示例:
source: http://www.example.com/articles/example-article
target (404): http://www.example.com/articles
User agents who have reported this:
- Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 1.1.4322; .NET4.0C; .NET4.0E)
(IE8 on win7)
- Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; SV1; .NET CLR 1.1.4325; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30707; MS-RTC LM 8)
(IE7 on windows server 2003)
- Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; GTB7.5; .NET CLR 1.1.4322 ; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
(IE8 on winXP)
- Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; GTB7.5; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC1; .NET CLR 2.0.50727; .NET C LR 1.1.4322; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C; HYVES)
(IE8 on win vista)
谁能帮我解释一下这些?是否有可能是错误的 Windows 浏览器插件?我还没有看到任何这些报告发生在其他操作系统上,然后是 windows。尽管这些网站也确实获得了来自其他操作系统的大量访问。
干杯!
编辑#1 我用useragentstring.com来解释 UA 字符串
编辑#2 Palec、Fabio Beltramini 和 Artur 的回答帮助我进一步理解了这个问题,我觉得他们都做出了同样的贡献。由于我只能接受/奖励一个答案,因此我选择接受 Palec 的答案,因为他先回答。非常感谢大家的思考。如果我在调试过程中遇到任何值得注意的事情,我会在此处添加。