перенаправление с не- www to www and http на https в IIS - PullRequest
0 голосов
/ 23 марта 2020

Я пытаюсь перенаправить с не-1001 * на www and, а также с http на https.

Http на https работает хорошо, но не-1005 * www shows страница не найдена ошибка .

Это моя конфигурация:

         <rules>
            <clear />
            <rule name="non-www to www" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
                    <add input="{HTTP_HOST}" pattern="^mydomain.com$" />
                </conditions>
                <action type="Rewrite" url="https://www.{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
            </rule>
            <rule name="http to https" patternSyntax="Wildcard" stopProcessing="true">
                <match url="*" />
                <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
                    <add input="{HTTPS}" pattern="OFF" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="false" />
            </rule>
        </rules>

Что происходит? Я пробовал несколько вариантов для не www to www, все с сайтов, найденных в Google, но не работал.

Jaime

1 Ответ

0 голосов
/ 24 марта 2020

Скопировано из комментария с дополнительными пояснениями.

Действие должно быть установлено на Redirect вместо Rewrite, потому что вы хотите, чтобы поисковые системы показывали www links, и тогда ваш сайт должен выдавать 301 перенаправление на своих ботов.

Даже если вам иногда нужно Rewrite, url должен быть относительным путем к тому же сайту. Если вы перезаписываете на другой сайт (например, тот, который вы использовали выше), то в режиме прокси требуется ARR. В противном случае IIS, естественно, возвращает 404 ошибки.

Однако переписывание не приводит к изменению URL-адресов в адресной строке браузера, поэтому оно также не влияет на роботов поисковых систем.

Ссылка

...