问题出处:站点
    
     www.114study.com
    
    的系统日志里经常记录如下的错误:
   
     
   
在仔细检查了页面的链接地址和所有相关的文件里的地址后,没有任何地方使用了类似”..”这样的符号表示路径.
而且这样的问题发生的频率非常频繁,大部分都在5分钟内发生若干次,直接的后果就是经常引发IIS的进程回收,使站点的访问异常缓慢。
     
   
在尝试提高快速失败保护的失败数后,仍然无法完全解决这个问题。于是开始仔细研究引发问题的IP地址,发现基本上都是来自于搜索引擎的BOT…
    在经过了搜索之后,于地址
    
     http://todotnet.com/archive/2006/07/01/7472.aspx
    
    发现了答案。
   
详细阐述如下:
1.该问题出现在使用了UrlRewriter的ASP.NET 2.0站点.服务器端软件环境为
.net Framework 3.5 | IIS6.0 | Windows Server 2003 Enterprise Edition + SP2
2.问题发生的原因:GoogleBot 以及各大搜索引擎厂商的BOT使用的UserAgent发生了变化
    
     
      GoogleBot的最新版本为:Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)
     
    
   
    
     
     
     按照文章里阐述的原因,就是这里的Mozilla/5.0引发了使用了UrlRewriter的错误.
    
   
    
     3.解决方案: 在使用了UrlRewriter的站点的根目录下添加如下文件夹 App_Browsers
    
   
    
     在文件夹里增加如下的文件
    
   
    
     
     
    
   
    
    
   
    重点是修改这个 <userAgent match=”Googlebot” />
    
    这里出现的match最好是每一个 BOT 的标志性名称。
   
当你在站点下存放了这些文件后,类似的错误就将不再出现。
举GoogleBot.Browser为例:
    <browsers>
    
    <browser id=”Googlebot” parentID=”Mozilla”>
    
    <identification>
    
    <userAgent match=”Googlebot” />
    
    </identification>
    
    <capabilities>
    
    <capability name=”browser” value=”Googlebot/2.1″ />
    
    <capability name=”Version” value=”4.0″ />
    
    <capability name=”MajorVersion” value=”4″ />
    
    <capability name=”MinorVersionString” value=”” />
    
    <capability name=”MinorVersion” value=”.0″ />
    
    <capability name=”activexcontrols” value=”true” />
    
    <capability name=”backgroundsounds” value=”true” />
    
    <capability name=”cookies” value=”true” />
    
    <capability name=”css1″ value=”true” />
    
    <capability name=”css2″ value=”true” />
    
    <capability name=”ecmascriptversion” value=”1.2″ />
    
    <capability name=”frames” value=”true” />
    
    <capability name=”javaapplets” value=”true” />
    
    <capability name=”javascript” value=”true” />
    
    <capability name=”jscriptversion” value=”5.0″ />
    
    <capability name=”supportsCallback” value=”true” />
    
    <capability name=”supportsFileUpload” value=”true” />
    
    <capability name=”supportsMultilineTextBoxDisplay” value=”true” />
    
    <capability name=”supportsMaintainScrollPositionOnPostback” value=”true” />
    
    <capability name=”supportsVCard” value=”true” />
    
    <capability name=”supportsXmlHttp” value=”true” />
    
    <capability name=”tables” value=”true” />
    
    <capability name=”vbscript” value=”true” />
    
    <capability name=”w3cdomversion” value=”1.0″ />
    
    <capability name=”xml” value=”true” />
    
    <capability name=”tagwriter” value=”System.Web.UI.HtmlTextWriter” />
    
    </capabilities>
    
    </browser>
    
    </browsers>
    
   
 
