IIS 7.5 Redirect / URL Rewrite to mobile version of website
You should be able to use a condition in your IIS rewrite rule.
<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>
I don't have a 2008R2 machine to test, and make sure my syntax is correct but it should be enough to get you in the right direction.
The basics of this rule says:
- Match any URL
- As long as the browser does not have the "nomobile" cookie
- The request URL does not already have /mobile in it
- The user agent matches the contents of a file.
This rule requires the use of a custom provider so you can store all the various user agents that might be mobile (and there is a long list of them). To setup the custom provider, take a look here.
I added the cookie check as some people still like to look at the full size site, even on their mobile device. This gives you a way to handle that by setting a cookie on their browser, and the rule skips them.
There is a slightly simpler version here that matches on a couple of examples too.