4

現在、本番サーバーでは、次のように受信ルールを設定しています。これは、すべての要件に対応するファイルです。

インバウンドのルールは以下の通りです。

Match URL section
Requested URL: Matches the Pattern
Using: Regular Expression
Pattern: (.*)
Ignore Case: checked.

Conditions section
Logical grouping: Match All.
Input: {HTTPS}
Type: Matches the Pattern
Pattern: ^OFF$
Track capture groups across conditions: unchecked.

Action section:
Action type: Redirect
Redirect URL: https://www.domainname.com/{R:0}
Append query string: checked.
Redirect Type: Permanent (301).

私の要件は次のとおりです。ユーザーが入力するとき

https://beta.domain.com it should redirect to https://www.domain.com. 

ユーザーが入力した場合

http://beta.domain.com it should redirect to https://www.domain.com. 

ユーザーがタイプする場合

http://www.domain.com it should redirect to https://www.domain.com

ユーザーがタイプする場合

http://domain.com it should redirect to https://www.domain.com

前もって感謝します。どんな助けでも大歓迎です。

前もって感謝します。

4

1 に答える 1

3

それはまさに条件が行うべきことではありませんか?HTTPS がオフになっているかどうかを確認し、その場合にのみリダイレクトが発生します。HTTPS が ON の場合、リダイレクトすることは想定されていません。そうしないと、エンドレス リダイレクトになってしまいます。

ホスト名が常に必要なwww.domainname.com場合は、それを追加の条件として追加する必要があります。例えば:

<rule name="Force HTTPS and host name: www.domainname.com" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTPS}" negate="true" pattern="^ON$" />
        <add input="{HTTP_HOST}" negate="true" pattern="^www\.domainname\.com$" />
    </conditions>
    <action type="Redirect" url="https://www.domainname.com/{R:0}" appendQueryString="true" redirectType="Permanent" />
</rule>

そうでない場合、またはそうでないHTTPS場合 、リダイレクトされます。両方が true の場合のみ、リダイレクトされません。ONHTTP_HOST www.domainname.com

于 2012-05-25T13:56:12.237 に答える