web-dev-qa-db-ja.com

IIS 8でweb.configのhttpからhttpsへのリダイレクトルールを記述して、www。で優先ドメインに直接移動する方法を教えてください。

SSLでセットアップしたばかりのサイトがあり、web.configでリダイレクトルールがセットアップされています。また、www.を優先ドメインとして使用します。私が抱えている問題は、リダイレクトの中間ステップをスキップしたいということです。

http://example.comと入力すると、最初にhttps://example.comにリダイレクトされ、次にhttps://www.example.comにリダイレクトされます。

http://example.comからhttps://www.example.comに直接リダイレクトするように構成をセットアップするにはどうすればよいですか?

web.configで現在使用しているルールを次に示します。

<rule name="HTTP to HTTPS redirect" stopProcessing="true"> 
        <match url="(.*)" /> 
        <conditions> 
              <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        </conditions> 
        <action type="Redirect" redirectType="Permanent" url="https://{HTTP_Host}/{R:1}" />
</rule> 
2
baumgardc

私が試した別の質問から答えを見つけましたが、うまくいったようです。より良い解決策がある場合は、その解決策も提供してください。

<rule name="Force WWW and SSL" enabled="true" stopProcessing="true">
  <match url="(.*)" />
  <conditions logicalGrouping="MatchAny">
  <add input="{HTTP_Host}" pattern="^[^www]" />
  <add input="{HTTPS}" pattern="off" />
  </conditions>
  <action type="Redirect" url="https://www.example.com/{R:1}" 
appendQueryString="true" redirectType="Permanent" />
</rule>
1
baumgardc