Você deve poder usar uma condição na regra de regravação do 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>
Eu não tenho uma máquina 2008R2 para testar, e certifique-se de que minha sintaxe está correta, mas deve ser o suficiente para você ir na direção certa.
O básico desta regra diz:
- Corresponder qualquer URL
- Contanto que o navegador não tenha o cookie "nomobile"
- O URL de solicitação não já tem / mobile nele
- O agente do usuário corresponde ao conteúdo de um arquivo.
Essa regra requer o uso de um provedor personalizado para que você possa armazenar todos os vários agentes do usuário que podem ser móveis (e há uma longa lista deles). Para configurar o provedor personalizado, dê uma olhada aqui .
Eu adicionei a verificação de cookie, pois algumas pessoas ainda gostam de ver o site em tamanho real, mesmo em seu dispositivo móvel. Isso dá a você uma maneira de lidar com isso definindo um cookie no navegador e a regra os ignora.
Existe uma versão um pouco mais simples aqui que combina com alguns exemplos também.