【发布时间】:2010-10-09 04:02:34
【问题描述】:
在我的项目中,我的 /PropertDetail.aspx 可以获得 2 个查询字符串。
第一个为 PropertyId /PropertDetail.aspx?PropertyId=5
第二个语言/PropertDetail.aspx?PropertyId=5&Language=2
编辑:而且这个页面可以获取其中一个,也可以同时获取两个,所以我的重写器规则需要同时处理这两个
所以,我已将这些规则设置为 web.config
<rewriter>
<rewrite url="^(/.+(\.gif|\.png|\.jpg|\.ico|\.pdf|\.css|\.js)(\?.+)?)$" to="$1" processing="stop" />
<rewrite url="^/(.+)-(.+).aspx$" to="/PropertyDetail.aspx?PropertyId=$2" processing="stop"/>
<!--http://localhost:1562/Harika-Gayrimenkul-5.aspx-->
<rewrite url="^/(.+)-(.+)-(.+).aspx$" to="/PropertyDetail.aspx?PropertyId=$2&Language=$3" processing="stop"/>
<!--http://localhost:1562/Great-Property-5-2.aspx-->
</rewriter>
如果没有语言查询字符串一切正常,但是当有语言查询字符串时,它会获得第三个表达式作为 PropertyId 而不是 Language
如何为同一个页面定义这两个规则?
谢谢
【问题讨论】:
-
我离得更近了,看看吧。但请注意这可能无意中匹配的其他内容。
标签: .net asp.net web-config url-rewriting urlrewriter.net