Я ищу решение IIS (не программирование) для перенаправления веб-сайта на мобильную версию веб-сайта. Похоже, что это возможно, но не уверен, с перенаправлением IIS или с помощью IIS URL Rewrite 2.0. Если это так, как бы это сделать?
Пример: mywebsite.com/ перенаправляет (если мобильное устройство) на mywebsite.com/mobile
Боковое примечание: в настоящее время мы используем перенаправление IIS для перенаправления http на https.
Вы должны иметь возможность использовать условие в своем правиле перезаписи IIS.
<rule name="MobileBrowser" stopProcessing="true">
<match url=".*" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_COOKIE}" pattern="nomobile" ignoreCase="true" negate="true" />
<add input="{REQUEST_URI}" pattern="/mobile.*" negate="true" />
<add input="{FileContains:{HTTP_USER_AGENT}}" pattern=".+" />
</conditions>
<action type="Rewrite" url="http://mysite.com/mobile" appendQueryString="false" redirectType="Found" />
</rule>
У меня нет машины 2008R2 для тестирования, и я должен убедиться, что мой синтаксис верен, но этого должно быть достаточно, чтобы вы в правильном направлении.
Основы этого правила гласят:
Это правило требует использования настраиваемого провайдера, чтобы вы могли хранить все различные пользовательские агенты, которые могут быть мобильными (и их длинный список). Чтобы настроить настраиваемого поставщика, посмотрите Вот.
Я добавил проверку файлов cookie, поскольку некоторым людям все еще нравится просматривать сайт в полном размере даже на своем мобильном устройстве. Это дает вам способ справиться с этим, установив файлы cookie в своем браузере, и правило их пропускает.
Есть вариант чуть попроще Вот это тоже соответствует паре примеров.