加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – Googlebot导致.NET System.Web.HttpException

发布时间:2020-12-15 23:23:09 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET网站混合了经典的asp(我们正在转换到.NET),我最近从.NET 1.1升级到.NET 4.0,并在IIS 7中切换到集成管道. 由于这些变化,ELMAH从传统的asp页面报告错误,实际上没有细节(和状态代码404): System.Web.HttpException (0x80004005) at System.Web.
我有一个ASP.NET网站混合了经典的asp(我们正在转换到.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抓取页面或如何获得更多的细节来找到潜在的错误?

解决方法

将其添加到您的web.config文件中:
<httpRuntime relaxedUrlToFileSystemMapping="true" />

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

要重现问题,请将(URL转义的空格)添加到URL的末尾,例如http://example.org/.当搜索抓取工具遇到带有空格的错误类型的链接时,这是很常见的. < a href =“http://example.org/”>示例< / a&gt ;. HttpContext.Request.Url属性似乎修剪了尾随空间,这就是为什么像ELMAH这样的日志记录工具不会揭示实际的问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读