Перезапись URL IIS не работает через поисковые системы - PullRequest
0 голосов
/ 11 июля 2019

Я написал простое правило перезаписи URL для моего веб-сайта, размещенного в IIS 10. Оно прекрасно работает без каких-либо проблем.

Однако, это странное поведение.Когда я пишу URL-адрес непосредственно в браузере, правило работает нормально, но если я ищу URL-адрес в Google / Bing и затем нажимаю URL-адрес на странице поиска, правило не срабатывает.

Я посмотрел в Insights, но не нашеллюбая важная информация.

Вот правило -

<rule name="PROD Rule" enabled="true" stopProcessing="true">
      <match url="(.*)" />
      <conditions>
        <add input="{HTTP_HOST}" pattern="^myweb\.com$" />
      </conditions>
      <action type="Redirect" url="https://www.mywebsite.com/{R:0}" redirectType="Permanent" />
</rule>

Запись URL-адреса непосредственно в браузере -

myweb.com перенаправляет на https://www.mywebsite.com/

Поиск URL-адреса в поисковой системе Google / Bing и затем нажатие URL-адреса на странице результатов поиска -

myweb.com остается на myweb.com

Я ожидал, что правила должны срабатывать всякий раз, когда запрос достигает IIS, независимо от источника происхождения.

Ответы [ 2 ]

0 голосов
/ 25 июля 2019

Так что, оказывается, это не проблема, связанная с поисковыми системами. Вместо этого это был просто пропущенный случай по правилам переписывания, которые я написал.

Существующие правила ожидали myweb.com в качестве входных данных и правильно перенаправляли их на https://www.mywebsite.com/

Однако, когда я ищу тот же URL в поисковой системе и нажимаю на них. URL-адрес отправки на сервер НЕ myweb.com вместо www.myweb.com

Вот обновление правил, которое сработало -

<rule name="PROD Rule" enabled="true" stopProcessing="true">
    <match url="(.*)" />
    <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="^myweb\.com$" />
        <add input="{HTTP_HOST}" pattern="^threeinsure\.com$" />
    </conditions>
    <action type="Redirect" url="https://www.mywebsite.com/{R:0}" redirectType="Permanent" />
</rule>
0 голосов
/ 12 июля 2019

вы можете использовать ниже правило перезаписи URL:

<rule name="Force SSL" enabled="true" stopProcessing="true">
                <match url="(.*)" />
                <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
                    <add input="{HTTPS}" pattern="off" />
                </conditions>
                <action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" appendQueryString="true" redirectType="Permanent" />
            </rule>

enter image description here

...