我在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}
仅包含文件名。
答案 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>