Можно ли сделать условные перезаписи URL в зависимости от user-agent в ASP.NET/IIS? - PullRequest
6 голосов
/ 14 июля 2011

Сайт, на котором я работаю, размещает контент, который постоянно копируется и размещается в других местах.

Можно ли переписать URL-адреса, чтобы обычные пользователи и сканеры из белого списка могли просматривать веб-сайт, но блокировать доступ к неопределяемым браузерам?

Ответы [ 2 ]

11 голосов
/ 15 июля 2011

Да, вы можете сделать это с помощью модуля перезаписи URL (я использую v2 .., но он должен работать и с v1.x, хотя у меня нет v1.x для тестирования):

<system.webServer>
    <rewrite>
        <rules>
            <rule name="UserAgentRedirect" stopProcessing="true">
                <match url="^(.*)$" />
                <conditions>
                    <add input="{HTTP_USER_AGENT}" pattern="(iphone|ipod)" />
                </conditions>
                <action type="Rewrite" url="/special-page.aspx" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>

В соответствии с приведенным выше правилом ВСЕ запросы от iPhone или iPad (или любого другого браузера / приложения с iphone или ipod в строке User Agent) будут переписаны (внутреннее перенаправление) на /special-page.aspx.

2 голосов
/ 14 июля 2011

Если кто-то действительно хочет очистить ваш контент, я думаю, это лишь вопрос времени, пока он не адаптирует свою технику для подделки разрешенного браузера.Хорошая возможность изучить возможность предоставления различного контента для каждого агента пользователя.

...