SmarterASP - это хостинг-сайт, который предлагает бесплатный SSL через Cloudflare, если вы не хотите тратить на них 200 долларов за два года обслуживания. Проблема в том, что они включают не все субдомены, а только один "www". Таким образом, если у вас нет поддоменов на вашем сайте, но вы предпочитаете удобство размещения ссылок, например « https://example.com », то ваш сайт не будет работать.

Чтобы быть понятным, любая другая форма ссылки на сайт работает; « http://example.com », « http://www.example.com », « https://www.example.com » - все работает. Но для конкретного случая « https://example.com » это не так.

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

Вот лучшее из того, что я пробовал, и я действительно думал, что это сработает:

<rule name="rewriteHTTPSnoSUB">
    <match url="www.+" negate="true" />
    <action type="Redirect" url="https://www.example.com/{R:0}" />
</rule>

По-моему, я вижу это как «если URL не содержит« www. », Перенаправьте его на« www. », Но он не работает, потому что он каким-то образом попадает в цикл перенаправления. Если я установлю "переписать", то получится 404.

Я не очень хорошо разбираюсь в regex, и я хотел бы знать, есть ли способ, прежде чем я потеряю 200 долларов на пользовательский SSL с их сайта, так что любая помощь очень ценится. Спасибо!

1 ответ1

0

Правило, которое может делать то, что вы просите (не проверено):

    <rule name="Redirect example.com to www" patternSyntax="ECMAScript" stopProcessing="true">
        <match url=".*" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^example.com$" />
        </conditions>
        <action type="Redirect" url="https://www.example.com/{R:0}" />
    </rule>

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .