我正在使用UrlRewriter实现一些url重写。
所以去http://domainname/11吧
将转到~/Items/Details.aspx?Itemid=11
<rewriter>
<rewrite url="~/1" to="~/Items/Details.aspx?ItemId=1" />
<rewrite url="~/2" to="~/Items/Details.aspx?ItemId=2" />
<rewrite url="~/3" to="~/Items/Details.aspx?ItemId=3" />
<rewrite url="~/11" to="~/Items/Details.aspx?ItemId=11" />
</rewriter>这里的问题是11总是重定向到1。和400重定向到4一样。我猜它不是完全匹配,只是某种“包含”。
我如何让它进行精确匹配呢?
我把这个用在正则表达式上,不是硬编码所有的东西,但它不能工作eitehr:
<rewriter>
<rewrite url="~/(\d)" to="~/Items/Details.aspx?ItemId=$1" />
</rewriter>谢谢你们!
发布于 2009-11-21 02:18:45
您应该指定URL的结尾,并对\d表达式使用限定符,以允许一个以上的数字:
<rewriter>
<rewrite url="~/(\d+)$" to="~/Items/Details.aspx?ItemId=$1" />
</rewriter>发布于 2009-11-21 02:17:04
<rewrite url="~/(\d+)" to="~/Items/Details.aspx?ItemId=$1" />
-------------------^https://stackoverflow.com/questions/1772327
复制相似问题