urlrewrite 匹配规则之优先选择

urlrewrite rule可以使用java的正则表达式匹配规则,但是这里存在一个问题点,假如有一个通配的规则和一个精确匹配的规则,urlrewrite 会选择那个去匹配呢?


如下两种规则:

<from>^/ajax/(\w+)(.html)$</from>
			<to type="forward">/ajax/$1.action</to>

			<from>^/(\w+)/(\w+)(.html)$</from>
			<to type="forward">/$1-$2.action</to>


urlrewrite.xml文件

	<!--Warning 警告:在urlrewrite尽量少的使用通配的规则;
		由于它匹配到一个就不再匹配第二个了,所以即便是有更加精确的匹配,
		如果写在通用的匹配规则之后,还是无法匹配的,这是个问题点。望君注意!
		eg: <from>^/ajax/(\w+)(.html)$</from>
			<to type="forward">/ajax/$1.action</to>

			<from>^/(\w+)/(\w+)(.html)$</from>
			<to type="forward">/$1-$2.action</to>
			
			如上两种规则:如果请求路径是http://localhost:8080/IcMarket/ajax/login.html
			显然这两种规则都能匹配:出现的情况就是,这两种规则谁在上面,就现匹配谁的规则;urlrewrite这东西不会像
			struts2 一样精确的找到最佳匹配的规则,它只要找到一个能够匹配的就不再往下寻找;为了防止你的规则被杂乱无章的匹配,
			尽量控制好自己想要匹配的原则。
	-->
	
	

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值