Добавление www в URL с перезаписью URL - PullRequest
3 голосов
/ 06 февраля 2012

Я нашел этот код для добавления www в URL без его использования с помощью перезаписи URL.

<rewrite>
    <rules>
        <clear />
        <rule name="WWW Rewrite" enabled="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" negate="true" pattern="^www\.([.a-zA-Z0-9]+)$" />
            </conditions>
            <action type="Redirect" url="http://www.{HTTP_HOST}/{R:0}" appendQueryString="true" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>

Но, похоже, работа URL не содержит "-", например, scotts-cleaners.com.

Возвращается www.www.scotts-cleaners.com.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 06 февраля 2012

Просто добавьте - к шаблону:

<add input="{HTTP_HOST}" negate="true" pattern="^www\.([.a-zA-Z0-9-]+)$" />

Поскольку дефис и буквенно-цифровые символы являются единственными разрешенными символами в доменном имени, ваш шаблон теперь должен работать для всех URL-адресов.

0 голосов
/ 06 февраля 2012
pattern="^www\.([.a-zA-Z0-9-]+)$"

очевидно, дефисам не нужно экранировать в регулярном выражении ^^

...