我需要写一个规则来实现这些:
<rule name="Redirect Category No Parent" stopProcessing="true">
<match url="^content/category/([a-zA-Z\d-_\s]+)(/[a-zA-Z\d-_\s]+)*" />
<action type="Rewrite" url="page?isCategory=true&categories={R:1}&other={R:2}&all={R:0}" appendQueryString="true" />
</rule>
但它并没有给予我所有的路径它只是给我这个**
isCategory=true&categories=xxx&other=/zzz&all=content/category/xxx/yyy/zzz
**此输入
https://localhost:44354/content/category/xxx/yy/zzz
任何人都知道为什么别人是/zzz我希望它是/xxx/yyy/zzz
1条答案
按热度按时间guz6ccqo1#
规则中的问题在于元素中的正则表达式。示例URL中有多个段(xxx,yyy,zzz),如果要捕获多个段,可以修改正则表达式模式如下:
对于此输入:
https://localhost:44354/content/category/xxx/yy/zzz
您将获得以下捕获组:
如果你想得到
categories=xxx
和other=/xxx/yyy/zzz
,你可以这样修改重写URL:它会给予你所有你想要的路径:
isCategory=true&categories=xxx&other=/xxx/yyy/zzz&all=content/category/xxx/yyy/zzz