IIS动态重定向规则

时间:2013-04-09 14:22:50

标签: iis url-rewriting iis-7.5

我在IIS中编写了许多重定向规则,需要一些指导才能使它们尽可能动态。

我想要一个从/foldername/*/newfolder/foldername/*

的规则

在每种情况下都要附加到末尾的文件名。我正在努力将foldername添加到结果中。

这是我到目前为止的代码:

<rule name="Rule name" stopProcessing="true">
  <match url="^foldername"  />
  <action type="Redirect" url="/newfolder/{R:1}" redirectType="Permanent" />
</rule> 

在上面的示例中,我希望能够继承原始文件夹的位置和文件名。 {R:1}仅包含文件名。

1 个答案:

答案 0 :(得分:0)

我很惊讶{R:1}携带文件名,因为当我测试时并非如此。

无论如何,要做你想做的事,你必须将模式从^foldername更改为^foldername/(.*)。这样,{R:0}将包含整个路径(使用^foldername时,{R:0}仅包含以foldername开头并匹配的部分。

您的规则将如下:

<rule name="Rule name" stopProcessing="true">
  <match url="^foldername/(.*)"  />
  <action type="Redirect" url="/newfolder/{R:0}" redirectType="Permanent" />
</rule>