HTTPS接続を強制するURL書き換えルールを記述しようとしています。これは、リクエストがlocalhost(例:http://localhost/mysite
)。
ルールは次のように構成されています。
<rule name="Redirect to https" enabled="true" stopProcessing="true">
<match url="(.*)" negate="false" />
<conditions trackAllCaptures="false">
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{URL}" pattern="localhost" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_Host}/{R:1}" />
</rule>
また、URL条件のパターンとして^ localhostおよび^ localhost /(.*)を使用しようとしましたが、役に立ちませんでした。なぜこれが機能しないのか、そしてこの問題の解決策はどうあるべきかという考えを誰かが持っていますか?
代わりに、コードは次のようになります。
<rule name="Redirect to https" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
<add input="{HTTPS}" pattern="off" />
<add input="{HTTP_Host}" pattern="localhost" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_Host}/{R:1}" />
</rule>