我的 UmbracoASP .Net 站点有如下重写规则
<add name="Test" virtualUrl="^~/category/(.*)" destinationUrl="/category?cat=$1" rewriteUrlParameter="ExcludeFromClientQueryString" ignoreCase="true" />
这个想法是,如果用户输入
www.example.com/category/electronics
www.example.com/category/devices
www.example.com/category/food
www.example.com/category/beverages
当他们到达没有任何规则和纯URL的页面时,一切都像我所期望的那样工作。
www.example.com/category?cat=electronics
如果我启用了上面的规则,它总是添加转发querystring参数 i.e cat=
当你点击上面任何一个页面的链接时。
我怎样才能停止转发添加参数?
你可以使用下面的URL重写规则。
<rule name="add query string" stopProcessing="true">
<match url="^category/([^/]+)/$" />
<action type="Redirect" url="http://www.sample1.com/category?cat={R:1}" appendQueryString="false" />
</rule>
如果你没有在iis中安装URL rite模块,你可以从下面的链接安装。