我们正在使用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>
答案 0 :(得分:0)
规则是完美的,我按照here
所述对IIS级别的失败请求进行跟踪后找出了问题我在用户选择“查看完整网站”链接时创建的cookie未使用域名创建。我在cookie创建脚本中添加了domain =“mymainsite.com”,现在工作正常。