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

前端之家收集整理的这篇文章主要介绍了asp.net – Googlebot导致.NET System.Web.HttpException前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个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这样的日志记录工具不会揭示实际的问题.

猜你在找的asp.Net相关文章