我有以下 URL 重写规则:
<ConfigRule>
<LookFor>/([^/]*)/([^/]*)/([^/]*)/</LookFor>
<Exclude>/Admin/(.*)</Exclude>
<SendTo>~/CategoryDetails.aspx?url=$3&fullurl=/$1/$2/$3/&page=1</SendTo>
<IgnoreQueryStringInMatch>true</IgnoreQueryStringInMatch>
</ConfigRule>
其中 $1、$2 和 $3 分别等于父组、父类别和类别。我想要做的是匹配一个 URL,例如:/cars/car-parts/wheels/
.
正则表达式确实与 url 模式匹配,但我有一个奇怪的问题,如果你有一个名称相同的类别,例如两个名称为 name/url “wheels”的类别,无论它是否在不同的父/组下,你都会仅重定向到两者之一,例如
/bicycles/bicycle-parts/wheels/
和
/cars/car-parts/wheels/
都将重定向到同一页面。
我相信罪魁祸首是这样的:
<SendTo>~/CategoryDetails.aspx?url=$3&fullurl=/$1/$2/$3/&page=1</SendTo>
Where?url=$3
仅匹配 url 的最后一部分(轮子),所以我想我要问的是有没有办法在 url 查询字符串中包含 group+parent+category 以便它匹配所有三个段而不仅仅是结尾?