Добавление входящего правила в IIS [UrlRewite]

В настоящее время на моем производственном сервере установлено следующее правило входящего трафика, который работает для всех моих требований.

Входящее правило заключается в следующем.

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

Заранее спасибо. Любая помощь будет оценена.

Заранее спасибо.

1 ответ

Разве это не то, что условное условие должно делать? Он проверяет, выключен ли HTTPS, и только тогда произойдет перенаправление. Если HTTPS включен, перенаправление не предполагается, иначе вы окажетесь в бесконечном перенаправлении.

Если вы всегда хотите, чтобы имя хоста было 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 не ON или же HTTP_HOST не www.domainname.com он будет перенаправлять. Только если оба они верны, он не будет перенаправлен.

Другие вопросы по тегам