排除多个文件的IIS URL重写规则

时间:2019-05-30 23:08:38

标签: iis url-rewrite-module

我有一个强制执行HTTPS的IIS URL重写规则,除非该页面是healthcheck.html(通过端口80)。当我使用匹配URL逻辑如下时,这就像一种魅力:

<match url="healthcheck.html" negate="true" />

但是,我不仅需要排除此页面,还需要排除名为Dir1的目录中的另一个文件OtherCheck.aspx

我还没有发现其他任何实例排除了两个文件的情况,尤其是其中一个不在根目录中。是否可以有两个文件名排除项?我试过了,但是没用:

<match url="healthcheck.html&/Dir1/OtherCheck.aspx" negate="true" />

1 个答案:

答案 0 :(得分:1)

文件和文件夹结构:     s1(根文件夹):

healthcheck.html(文件)

s2(子文件夹):

page1.html(文件)

您可以使用以下url重写规则排除多个文件:

 <rule name="Redirect to HTTPS multiple file" enabled="true" stopProcessing="true">
     <match url="(.*)" />
     <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{HTTPS}" pattern="off" />
                    <add input="{REQUEST_URI}" pattern="^/healthcheck.html" negate="true" />
                    <add input="{REQUEST_URI}" pattern="^/s2/page1.html" negate="true" />
     </conditions>
     <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Found" />
   </rule>

https重定向:

enter image description here

排除文件: enter image description here enter image description here

注意: 您可以根据需要设置文件和文件夹名称。

关于, 贾帕(Jalpa)