2016-08-10 102 views
1

我有这些规则在我的web.config设置:如何排除从规则目录在Web.config中(ASP.NET)

<rules> 
     <rule name="replacedash"> 
      <match url="(.*)(-)(.*)\.aspx$" /> 
      <action type="Redirect" url="{R:1}{R:3}" redirectType="Permanent" /> 
     </rule> 
     <rule name="extensionless" stopProcessing="true"> 
       <match url="(.*)\.aspx$" /> 
       <action type="Redirect" url="{R:1}" redirectType="Permanent" /> 
     </rule> 
     <rule name="removeextension" enabled="true"> 
      <match url=".*" negate="false" /> 
       <conditions> 
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
        <add input="{URL}" pattern="(.*)\.(.*)" negate="true" /> 
       </conditions> 
       <action type="Rewrite" url="{R:0}" /> 
     </rule> 
    </rules> 

我已经升级了我的网站从简单的ASP.NET到ASP。 NET MVC和我已经写了这些规则,以防万一在搜索引擎中仍然存在一些带.aspx扩展名的旧缓存链接;然而,我的web服务器上有一些目录仍然包含.aspx文件,这是因为很好的原因,我的规则也重写了这些扩展。

如何从继承我的规则中排除这些文件夹?

回答

6

主要基于以下这里的解决方案:

How to exclude a directory with IIS URL rewriting?

你可以做这样的事情:

<rules> 
    <rule name="ignore web forms folder 1" stopProcessing="true"> 
     <match url="^webformsfolder1/" /> 
     <action type="None" /> 
    </rule> 
    <rule name="ignore web forms folder 2" stopProcessing="true"> 
     <match url="^webformsfolder2/" /> 
     <action type="None" /> 
    </rule> 
    <rule name="ignore web forms folder 3" stopProcessing="true"> 
     <match url="^webformsfolder3/" /> 
     <action type="None" /> 
    </rule> 
    <rule name="replacedash"> 
     <match url="(.*)(-)(.*)\.aspx$" /> 
     <action type="Redirect" url="{R:1}{R:3}" redirectType="Permanent" /> 
    </rule> 
    <rule name="extensionless" stopProcessing="true"> 
      <match url="(.*)\.aspx$" /> 
      <action type="Redirect" url="{R:1}" redirectType="Permanent" /> 
    </rule> 
    <rule name="removeextension" enabled="true"> 
     <match url=".*" negate="false" /> 
      <conditions> 
       <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" /> 
       <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" /> 
       <add input="{URL}" pattern="(.*)\.(.*)" negate="true" /> 
      </conditions> 
      <action type="Rewrite" url="{R:0}" /> 
    </rule> 
</rules> 
相关问题