URL 在 IIS 中重写并出错 'The page isn’t redirecting properly'
URL Rewrite in IIS and error 'The page isn’t redirecting properly'
我尝试像下面这样重写 url
。
mail.test.com
必须重定向到 https
。除了 test
以外 http
.
都可以
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^mail\.test\.com$" />
</conditions>
<action type="Redirect" url="https://mail.test.com/{R:1}" />
但是我得到一个错误:
The page isn’t redirecting properly
An error occurred during a connection to mail.test.com.
This problem can sometimes be caused by disabling or refusing to accept cookies.
SSL证书等即可。如果我不写这条规则,它适用于https
,但其他人也会重定向到https
。我在这里缺少什么?
请尝试以下操作。当我在 IIS 中对链接到单个网站的不同域进行快速测试时,它起作用了。
<rule name="HTTP to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(mail\.test\.com)$" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://mail.test.com/{R:1}" />
</rule>
使用重定向规则时,最好在每次更改后清除浏览器缓存。否则浏览器将使用缓存中的旧重定向。大多数浏览器缓存数据可以用 Ctrl + Shift + Del.
清除
请这样尝试。
<rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="mail\.test\.com$" />
</conditions>
<action type="Redirect" url="https://mail.test.com/{R:1}" />
</rule>
</rules>
</rewrite>
注意:请使用chrome://net-internals清除缓存
我尝试像下面这样重写 url
。
mail.test.com
必须重定向到 https
。除了 test
以外 http
.
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^mail\.test\.com$" />
</conditions>
<action type="Redirect" url="https://mail.test.com/{R:1}" />
但是我得到一个错误:
The page isn’t redirecting properly
An error occurred during a connection to mail.test.com.
This problem can sometimes be caused by disabling or refusing to accept cookies.
SSL证书等即可。如果我不写这条规则,它适用于https
,但其他人也会重定向到https
。我在这里缺少什么?
请尝试以下操作。当我在 IIS 中对链接到单个网站的不同域进行快速测试时,它起作用了。
<rule name="HTTP to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^(mail\.test\.com)$" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://mail.test.com/{R:1}" />
</rule>
使用重定向规则时,最好在每次更改后清除浏览器缓存。否则浏览器将使用缓存中的旧重定向。大多数浏览器缓存数据可以用 Ctrl + Shift + Del.
清除请这样尝试。
<rewrite>
<rules>
<clear />
<rule name="Redirect to https" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTPS}" pattern="mail\.test\.com$" />
</conditions>
<action type="Redirect" url="https://mail.test.com/{R:1}" />
</rule>
</rules>
</rewrite>
注意:请使用chrome://net-internals清除缓存