首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

求一地址重写的正则(.Net)解决思路

2012-09-27 
求一地址重写的正则(.Net)我现在使用的规则是C# codeRewriterRule!--列表规则--LookFor~/l-(.*)\.sh

求一地址重写的正则(.Net)
我现在使用的规则是

C# code
      <RewriterRule>        <!--列表规则-->        <LookFor>~/l-(.*)\.shtml$</LookFor>        <SendTo>~/list.aspx?q=$1</SendTo>      </RewriterRule>

当访问这样的地址的时候:/l-%E5%A6%88%E5%A6%88%E7%94%A8%E5%93%81.shtml 可以正常访问,
但是当访问:/l-SPERRY+.shtml 这样的地址的时候就无法访问了,就是说输入的关键字存在+号(地址栏出现加号,是因为输入了空格)的时候。

以上规则如果是在PHP中,完全正常,不知道是不是正则引擎不同所引起的!

请高人解释一下!

[解决办法]
再试试:
<RewriterRule>
<!--列表规则-->
<LookFor>~/l-([\s\S]*)\+?\.shtml$</LookFor>
<SendTo>~/list.aspx?q=$1</SendTo>
</RewriterRule>


[解决办法]
因为你的+被urldecode之后变成空格了,如果访问l-SPERRY%2B.shtml,是没有问题的,后台也可以正常取到~

热点排行