2012-03-08 129 views
1

我有一个规则设置重写一切进入一个子目录,如下所示:重写规则,以所有重写除非文件扩展名

<rule name="Forms Directory" stopProcessing="true"> 
    <match url="^forms/(.*)" /> 
    <action type="Redirect" url="forms.htm" redirectType="Permanent" /> 
</rule> 

不过,我想稍作改变,以允许它访问在表格的文件夹ASP文件。所以我要保持相同的规则,但符合规则排除任何的.asp。我尝试以下,但不能把它按预期工作:

<rule name="Forms Directory" stopProcessing="true"> 
    <match url="^forms/(.*)[^(.asp)]" /> 
    <action type="Redirect" url="forms.htm" redirectType="Permanent" /> 
</rule> 

任何帮助将不胜感激!

回答

1

,检查的文件扩展名的附加条件解决这个问题。

<rule name="Forms Directory"> 
    <match url="^forms/(.*)" /> 
    <conditions> 
     <add input="{REQUEST_FILENAME}" pattern=".+\.asp$" negate="true" /> 
    </conditions> 
    <action type="Rewrite" url="forms.htm" redirectType="Permanent" /> 
</rule>