我有一个强制执行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" />
答案 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重定向:
注意: 您可以根据需要设置文件和文件夹名称。
关于, 贾帕(Jalpa)