在IIS中重写规则(web.config) - 取消所有子文件夹

时间:2014-12-11 08:48:52

标签: regex iis web-config

我需要在我的网站上将基于扩展程序的页面(.asp)的某个页面重写为非基于扩展程序的页面。但是,当我这样做时,规则也会影响所有子文件夹。页面如下:

www.mysite.com/my-page

需要重新写入:

www.mysite.com/my-page.asp

然而,我需要否定以下重写:

www.mysite.com/my-page/sub-folder-1

www.mysite.com/my-page/sub-folder-1/sub-folder-2

我目前的代码如下:

<rule name="re-write-rule-test" stopProcessing="true">
  <match url="^my-page" />
  <action type="Rewrite" url="/my-page.asp" />
  <conditions>
    <add input="{REQUEST_URI}" pattern="^/([^/]+)?$" negate="true" />
  </conditions>
</rule>  

但它不起作用。在实际页面上的重写工作正常但是否定失败并且所有子文件夹页面也被重写。

你能帮忙吗?

谢谢,

杰森

1 个答案:

答案 0 :(得分:1)

Tensibai回答如下。谢谢!

我认为会改变by(为匹配添加终止以避免匹配以'my-page'开头的所有内容。 - Tensibai 58分钟前