在IIS 7 Url重写模块中使用math运算

我下载了IIS的URL重写模块7.我试图重写这个表单的URL: http : //www.site.com/1234到http://www.site.com/234 (获取数字并重写其modoul由1000)。

我看到重写模块支持正则expression式,但我没有find应用math运算(如果可能的话)的URL。

我会很高兴得到这个帮助! 谢谢 :)

url重写模块链接

不幸的是,它不支持,但是你可以使用几行C#来做到这一点。 你可以按照教程: http : //learn.iis.net/page.aspx/804/developing-a-custom-rewrite-provider-for-url-rewrite-module/

基本上你会在这个概念上包含一个规则:
<rule name="Modulus Rewrite">
<match url="(.*)/([\d+])$" />
<action type="rewrite" url="{R:1}{Modulus:{R:2}}" />
</rule>

在那里你捕获的URL,但单独的部分与数字,并将其传递给自定义提供商

然后你的代码看起来像下面的代码,你将使用<condition>来

 public class ModulusProvider: IRewriteProvider { public void Initialize(IDictionary<string, string> settings, IRewriteContext rewriteContext) { } public string Rewrite(string value) { int iVal; if (int.TryParse(value, out iVal)) { return (iVal % 1000).ToString(CultureInfo.InvariantCulture); } return String.Empty; } }