【问题标题】:Googlebot causes .NET System.Web.HttpExceptionGooglebot 导致 .NET System.Web.HttpException
【发布时间】:2011-09-30 11:30:01
【问题描述】:

我有一个混合了经典 ASP 的 ASP.NET 网站(我们正在努力转换为 .NET),我最近从 .NET 1.1 升级到 .NET 4.0 并切换到 IIS 7 中的集成管道。

由于这些更改,ELMAH 报告了来自 经典 asp 页面的错误,实际上没有详细信息(和状态代码 404):

System.Web.HttpException (0x80004005)
   at System.Web.CachedPathData.ValidatePath(String physicalPath)
   at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)

但是当我自己请求页面时,没有发生错误。在 ELMAH 中显示的所有这些错误都是由 Googlebot 抓取工具(用户代理字符串)引起的。

.NET 为何会发现经典 asp 页面的错误?这与集成管道有关吗?

知道为什么错误只在 Google 抓取页面时发生,或者我如何获得更多详细信息以找到根本错误?

【问题讨论】:

  • 我也遇到了这个问题,虽然我在 ASP.NET MVC 页面上看到了它们

标签: asp.net exception asp-classic elmah


【解决方案1】:

Google 抓取工具似乎通过了一个不再存在的链接。 IE 你的站点上可能有一些文档引用了其他文档,但它们被删除了。

我看起来不像我那么认真,所以你可以考虑过滤掉那个异常。

【讨论】:

  • 他说他可以自己请求页面,所以看起来页面仍然存在。
【解决方案2】:

当您从经典管道更改为集成管道时,您实际上将控制权交给了 .NET,这意味着 .NET 将调用 ASP 解析器。这增加了在 .NET 托管代码中编码的自定义 HTTPModules 的功能,可以更改响应的输出,或者在 elmah 的情况下,为您提供日志记录详细信息。

我会查看日志,查看错误发生时用户代理 googlebot 正在使用什么,并遵循与更改用户代理时完全相同的路径。

Mozilla Firefox 是最好的浏览器,带有 User Agent Switcher 插件

【讨论】:

    【解决方案3】:

    将此添加到您的 web.config 文件中:

    <httpRuntime relaxedUrlToFileSystemMapping="true" />
    

    disables the default check 确保请求的 URL 符合 Windows 路径规则。

    要重现该问题,请将%20(URL 转义空格)添加到 URL 的末尾,例如http://example.org/%20。当搜索爬虫遇到带有空格的错误输入链接时,从搜索爬虫中看到这个问题是相当普遍的,例如&lt;a href="http://example.org/ "&gt;example&lt;/a&gt;.

    HttpContext.Request.Url 属性似乎修剪了尾随空格,这就是为什么像 ELMAH 这样的日志记录工具不能揭示实际问题的原因。

    【讨论】:

      【解决方案4】:

      这仅适用于您使用 Angular 的情况,但您会看到此情况

      <httpRuntime relaxedUrlToFileSystemMapping="false" /> (as mentioned in the previous answers)
      

      并且您在图像或脚本标签上使用 src 而不是 ng-src,即

      <img src="{{SomeModelValue}}" />
      

      应该是

      <img ng-src="{{SomeModelValue}}" />
      

      这也可能影响您使用 href 而不是 ng-href 的 A 标记。

      【讨论】:

        猜你喜欢
        • 2012-04-11
        • 2014-09-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-02-23
        • 2010-12-06
        相关资源
        最近更新 更多