日期:2014-05-17  浏览次数:20402 次

GUID正则表达式(关于微软URLRewriter.dll的应用)配置web.config时怎么写?
以前做的一个站,主键用的GUID
现在想用微软的URLRewriter.dll实现伪静态
web.config里这么写的
<!--URL重写-->
  <RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/News/^\w{8}-(\w{4}-){3}\w{12}$\.aspx</LookFor>
        <SendTo>~/NewsDetail.aspx?Guid=$1</SendTo>
      </RewriterRule>
    </Rules>
  </RewriterConfig>
意思是访问/News/27a69476-9c85-4e27-8bc0-b1dbf41c02b3.aspx时,页面自动跳转到NewsDetail.aspx?Guid=27a69476-9c85-4e27-8bc0-b1dbf41c02b3
但是结果却报404,如果web.config改成<LookFor>~/News/(\d+)\.aspx</LookFor>
那么输入/News/27.aspx能跳转到NewsDetail页面
我估计是正则不对,或者哪少转义符,请教各位高手

------解决方案--------------------
 <LookFor>~/News/([a-fA-F0-9]{8}\-([a-fA-F0-9]{4}\-){3}[a-fA-F0-9]{12})\.aspx</LookFor>