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 重定向:
排除文件:
注:
您可以根据需要设置文件和文件夹名称。
此致,
贾尔帕
我有一个强制使用 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 重定向:
排除文件:
注: 您可以根据需要设置文件和文件夹名称。
此致, 贾尔帕