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

IIS URL Rewrite Rule Excluding Multiple Files

我有一个强制使用 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" />

文件和文件夹结构: 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 重定向:

排除文件:

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

此致, 贾尔帕