我的原始网页网址就像这样
http://mydomain/product-list?Type=AllProducts&ListCategory=Category&ListCriteria=All&KeyWord=109
我希望这个网址对用户可见是这样的
http://mydomain/product-list/FURNITURE-HOUSE?Type=AllProducts&ListCategory=Category&ListCriteria=All&KeyWord=109
所以我写了urlrewritingnet
这样的规则
<add name="produktidrewrite"
virtualUrl="^~/product-list/(.*)"
rewriteUrlParameter="ExcludeFromClientQueryString"
destinationUrl="~/product-list"
redirect="Application"
redirectMode="Permanent"
ignoreCase="true" />
这就像我在浏览器中输入此URL一样
http://mydomain/product-list/FURNITURE-HOUSE?Type=AllProducts&ListCategory=Category&ListCriteria=All&KeyWord=109
将其重写为
http://mydomain/product-list?Type=AllProducts&ListCategory=Category&ListCriteria=All&KeyWord=109
因为您可以看到类别名称已从URL中删除。我怎么能克服这个?并确保用户也看到这样的网址
http://mydomain/product-list/FURNITURE-HOUSE?Type=AllProducts&ListCategory=Category&ListCriteria=All&KeyWord=109
答案 0 :(得分:1)
我认为你的意思是.NET MVC上的自定义路由, 你实际上可以使用属性路由在Controller Action Method上执行此操作:
[Route(“{productId:int}/{productTitle}”)]
public ActionResult Show(int productId) { … }
或者您可以在此链接上看到更好的内容:looping over paths using while
CMIWW