Как исправить перенаправление с https // www на https // не-www версию сайта? - PullRequest
0 голосов
/ 19 мая 2019

Я добавил ssl в iis на прошлой неделе и настроил правила перенаправления 301 в web.config моего веб-сайта.

Сегодня я заметил, что https://www версия не перенаправлена ​​на https://non -www версия моего веб-сайта и ресурсы, такие как изображения и файлы CSS, доступны в обеих версиях моего веб-сайта.

правильны ли эти правила, которые я добавил в свой файл web.config?

Из-за IIS и wordpress мне пришлось добавить перенаправление ресурсов и URL-адрес Unicode в web.config.

работает перенаправление с http на https

перенаправление с http // www на http://non -www работает

, но перенаправление с https // www на https://non -www не работает!

мой файл web.config:

<rewrite>
<rules>
<rule name="HTTPS" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" pattern="^OFF$" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" 
redirectType="Permanent" />
</rule>
<rule name="Redirect Image to HTTP" stopProcessing="true">
<match url=".*\.(gif|jpg|jpeg|png|css|js|pdf|ttf|woff2|woff|mp4)$" 
ignoreCase="true" />
<action type="Rewrite" url="{R:0}" />
</rule>
<rule name="WordPress Rule" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
<action type="Rewrite" url="index.php" />
<serverVariables>
<set name="REQUEST_URI" value="{UNENCODED_URL}" replace="true" />
</serverVariables>
</rule>
</rules>

1 Ответ

0 голосов
/ 21 мая 2019

Согласно вашему описанию, ваши правила кажутся без проблем, тогда вам кажется, что вы хотите понять, что измените любой запрос https, например https://www.example.com на https://example.com верно?Я сделал образец здесь.Вот правило, надеюсь, оно может вам помочь.

 <rule name="rule1" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{HTTPS}" pattern="^on$" />
                    <add input="{HTTP_HOST}" pattern="www[.](.+)" />
                </conditions>
                <action type="Redirect" url="https://{C:1}/{R:0}" />
            </rule>
...