私はIIS 8.5 Webサーバー上の特定のサブフォルダに対してHTTPからHTTPSに書き換えようとしていますが、機能しません。無数の他のソリューションやブログ投稿を読んだことがありますが、私が試したことはありません。サブフォルダのみをリライトする(HTTPからHTTPS)サイトルートにリダイレクト
http://domain.example.com/one/two/three/
...に(同じURLをしかし、HTTPSを使用して)リダイレクト
https://domain.example.com/one/two/three/
代わりに...(HTTPSを使用して、サイトのルート)にリダイレクトされなければならない
https://domain.example.com
搭載。 ..(httpsを使用するURL)
https://domain.example.com/one/two/three/
もリダイレクト先となります(httpsを使用したサイトルート)
https://domain.example.com
URLからサブフォルダを削除しています。
このフォルダもWindows認証で保護する必要がありますが、動作させることはできますが、認証が有効または無効になっているためhttpsリダイレクトが失敗しているため、原因とは思われません。
IIS内で、目的のサブフォルダ(上記の例では/ three /)を選択し、そこに書き換えルールを作成しました。
<rewrite>
<rules>
<clear />
<rule name="HTTP to HTTPS redirect" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
これはもちろん、目的のサブフォルダに含まれるファイルとフォルダで動作するはずです。 (/ 3)
私はこれを試してみましたが、それは見かけの正しいURLにリダイレクトしますが、「あまりにも多くのリダイレクト」エラーを与える:
<rule name="HTTP to HTTPS redirect" enabled="true" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="SeeOther" />
</rule>