как сопоставить www URL с регулярными выражениями - PullRequest
1 голос
/ 27 октября 2011

Я нашел этот бит кода web.config для проверки URL-адреса, чтобы узнать, не пропустил ли он www.если это так, то он перенаправляет пользователя на www.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-адрес имеет www, а затем перенаправляет его не на www

, потому что у меня есть поддомен

trade.words.co.uk, но я хочу убедиться, что они не переходят на www.trade.words.co.uk

Спасибо за любую помощь заранее

Ответы [ 2 ]

0 голосов
/ 27 октября 2011

Полагаю, вам просто нужно противоположное правило web.config, использующее расширенное регулярное выражение для соответствия правильному URL, как показано ниже:

<rewrite>
        <rules>
            <clear />
            <rule name="WWW Rewrite" enabled="true">
                <match url="(.*)" />
                <conditions>
                    <add input="{HTTP_HOST}" pattern="^([\w-]+://?|www[.])([^\s]+(?:\([\w\d]+\)|([^[:punct:]\s]|/)))$" />
                </conditions>
                <action type="Redirect" url="http://{R:2}" appendQueryString="true" redirectType="Permanent" />
            </rule>
        </rules>
    </rewrite>

Надеюсь, это поможет

0 голосов
/ 27 октября 2011

Попробуйте это:

<rewrite>
    <rules>
        <clear />
        <rule name="WWW Rewrite" enabled="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^(?:www\.)([.a-zA-Z0-9]+)$" />
            </conditions>
            <action type="Redirect" url="http://{C:1}/{R:0}" appendQueryString="true" redirectType="Permanent" />
        </rule>
    </rules>
</rewrite>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...