我目前的网址是:mysite.com/datasheet/100-DE-xmas2016-6
web.config中的:
<rule name="myrule">
<match url="^datasheet/([_0-9a-z-]+)-([_0-9a-z-]+)-([_0-9a-z-]+)" />
<action type="Rewrite" url="ajax/datasheet.aspx?shop={R:1}&language={R:2}&product={R:3}" />
</rule>
不会重写到
mysite.com/ajax/datasheet.aspx?shop_id=100&language=DE&product=xmas2016-6
为什么??? 如何使产品“xmas2016-6”工作? 列表“mysite.com/datasheet/100-DE-xmas20166”将起作用。但我真的想把产品用作“xmas2016-6”(在正则表达式中设置为[_0-9a-z-],但它在产品参数中忽略我的“ - ”符号或者是什么?)
答案 0 :(得分:0)
此规则适用于您:
<rule name="myrule">
<match url="^datasheet/([_0-9a-z]+)\-([_0-9A-Z]+)\-([_a-z]+[0-9]{4})([0-9]{1})$" />
<action type="Rewrite" url="/ajax/datasheet.aspx?shop={R:1}&language={R:2}&product={R:3}-{R:4}" />
</rule>
正则表达式^datasheet/([_0-9a-z]+)\-([_0-9A-Z]+)\-([_a-z]+[0-9]{4})([0-9]{1})$
将datasheet/100-DE-xmas20166
分为四组:
datasheet/100-DE-xmas20166
100
DE
xmas2016
6