IIS 7.5redirect/ URL重写到移动版本的网站

我正在寻找一个IIS解决scheme(不是编程)来redirect一个网站到移动版本的网站。 它看起来可能,但不能确定,与IISredirect或使用IIS URL重写2.0。 如果是这样的话,怎么会这样呢?

例如:mywebsite.com/redirect到(如果移动设备)mywebsite.com/mobile

注意:我们目前使用IIS Redirect将httpredirect到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机器来testing,并确保我的语法是正确的,但它应该足以让你在正确的方向。

    这条规则的基础是:

    • 匹配任何url
    • 只要浏览器没有“nomobile”cookie
    • 请求的URL中没有 /移动
    • 用户代理匹配文件的内容。

    此规则需要使用自定义提供程序,以便可以存储所有可能是移动的各种用户代理程序(并且列表中有很长的一列)。 要设置自定义提供程序,请看这里 。

    我添加了cookie检查,因为有些人仍然喜欢看全尺寸的网站,甚至在他们的移动设备上。 这给你一个方法来通过在他们的浏览器上设置一个cookie来处理,并且规则跳过它们。

    这里有一个稍微简单的版本,可以和几个例子相匹配。