IIS URL使用“nomobile”cookie重写移动规则

时间:2012-11-01 17:21:40

标签: iis url-rewriting

我们正在使用IIS URL Rewrite模块通过检查HTTP_USER_AGENT将所有请求从移动浏览器重定向到m.mymobilesite.com。这工作正常,现在我们需要实现“查看完整站点”链接,这将允许用户查看主站点。尝试通过在用户点击“查看完整站点”链接时添加“nomobile”cookie来实现此目的,该链接将被规则验证和否定。出于某种原因,我的规则似乎不起作用。

请帮忙。

<rewrite>
<rules>
    <rule name="MobileRedirect" patternSyntax="ECMAScript" stopProcessing="true">    
        <match url=".*" ignoreCase="true" />
        <conditions logicalGrouping="MatchAll">
            <add input="{HTTP_COOKIE}" pattern="nomobile" ignoreCase="true" negate="true" />
            <add input="{HTTP_USER_AGENT}" pattern="android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera mobile|palmos|webos" />
        </conditions>    
        <action type="Redirect" url="http://m.mymobilesite.com" appendQueryString="false" redirectType="Found" />
    </rule>
</rules> </rewrite>

1 个答案:

答案 0 :(得分:0)

规则是完美的,我按照here

所述对IIS级别的失败请求进行跟踪后找出了问题

我在用户选择“查看完整网站”链接时创建的cookie未使用域名创建。我在cookie创建脚本中添加了domain =“mymainsite.com”,现在工作正常。