0

中央のフォルダー (IIS 7.5) を指す複数の Web サイトがあります。

company1.domain.com/wo は D:\inetpub\wo を指しています

company2.domain.com/wo は D:\inetpub\wo を指しています

company3.domain.com/wo は D:\inetpub\wo を指しています

すべての Web サイトは、HTTP と HTTPS の両方で機能します (手動で入力した場合)。ただし、サイトは HTTPS 経由で接続する必要があります。自動 SSL リダイレクトを設定したいのですが、問題があります。URL 書き換えルールを作成しましたが、これは 1 つの webconfig ファイルにすぎないため、URL は 1 つの Web サイトにのみリダイレクトされます (URL は維持されません)。URL が保持され、すべての Web サイトが同じフォルダーを指すように SSL リダイレクトを設定するにはどうすればよいですか? どんな援助でも大歓迎です。ありがとう

4

1 に答える 1

0

HTTPSが有効になっているかどうかを確認するときにホストヘッダーを含めてから、適切なドメインのhttpsURLにリダイレクトする必要があります。

次に例を示します。

<rewrite>
    <rules>
        <clear />
        <rule name="Force HTTPS - www.domain1.com" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAll">
                <add input="{HTTPS}" negate="true" pattern="^ON$" />
                <add input="{HTTP_HOST}" pattern="\.domain1\.com$" />
            </conditions>
            <action type="Redirect" url="https://www.domain1.com{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
        </rule>
        <rule name="Force HTTPS - www.domain2.com" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAll">
                <add input="{HTTPS}" negate="true" pattern="^ON$" />
                <add input="{HTTP_HOST}" pattern="\.domain2\.com$" />
            </conditions>
            <action type="Redirect" url="https://www.domain2.com{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
        </rule>
        <!-- add more rules for other domains if needed -->
        </rule>
    </rules>
</rewrite>

ドメイン名には必要な数のルールを追加できます。

編集:申し訳ありませんが、私はあなたの質問を読み間違えました。その場合、それはさらに簡単です:

<rewrite>
    <rules>
        <clear />
        <rule name="Force HTTPS" stopProcessing="true">
            <match url="(.*)" />
            <conditions logicalGrouping="MatchAll">
                <add input="{HTTPS}" negate="true" pattern="^ON$" />
            </conditions>
            <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

ホストヘッダーを確認する必要はありません。リダイレクトにホスト名を含めるだけです。すべてのドメイン名にSSL証明書があることを確認するだけで済みます。

于 2012-11-07T11:48:29.890 に答える