2

我们正在使用 IIS URL 重写模块通过检查 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>
4

1 回答 1

0

该规则是完美的,我在对 IIS 级别的失败请求进行跟踪后发现了问题,如此处所述

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

于 2012-11-13T20:58:40.903 回答