<RewriterRule>
<LookFor>~/(.+)_c(.+)/(\d+).html</LookFor>
<SendTo>~/catebig.aspx?catename=$1&cateid_Bigclass=$2&page=$3</SendTo>
</RewriterRule>
<RewriterRule>
<LookFor>~/full/(.+)_c(.+)/(\d+).html</LookFor>
<SendTo>~/catebigfull.aspx?catename=$1&cateid_Bigclass=$2&page=$3</SendTo>
</RewriterRule>
地址栏输入:domain/aaa_c/100.html和domain/full/aaa_c/100.html都只映射到这个文件catebig.aspx,等于是第2个加了一级目录/full/不起作用?
从现象来看,应该是顺序的问题导致的。不过,你有加full后,应该在第一个是匹配不通过的才对,你确认下加入full后,第一个的解析结果里的catename值是多少?难道是full/aaa?如果是这个,那么就是你的正则表达式没有写好。
<RewriterRule>
<LookFor>~/full/(.+)_(\d)/(.+)_(\d)/(\d+).html</LookFor>
<SendTo>~/catebig_country_full.aspx?countryname=$1&countryid=$2&catename=$3&cateid=$4&page=$5</SendTo>
</RewriterRule>
http://domain/full/Afghanistan_171/Agriculture_6/1.html
countryname得到full/Afghanistan,这样正则要怎么写才得到的是Afghanistan
catename
@wydycg: 我对这个正则表达式也用的不多,你这样,对(.+)这段增加一个控制,不能包含"\"之类的特殊字符,我记得正则表达式是可以达到这个目的的。
虽然把顺序调整后也能达到目的,但总会有点吃苍蝇的感觉,还是建议你用这个方案处理。
@笨笨蜗牛: 非常感谢,解决了
應該 有前後 順序吧。把最細的放到 前面。