我正在尝试创建IIS规则以将移动用户重定向到移动网站。 主站点(桌面版)位于根路由('/'),移动站点位于'/ mobile'路径
我创建了这个IIS规则,但是当我在桌面上试用它时效果很好,但在移动设备中,我收到错误ERR_TOO_MANY_REDIRECTS
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite Mobile" enabled="true" stopProcessing="true">
<match url="(.*)" ignoreCase="true"/>
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone" />
<add input="{HTTP_X-Device-User-Agent}" pattern="midp|mobile|phone" />
<add input="{HTTP_X-OperaMini-Phone-UA}" pattern="midp|mobile|phone" />
</conditions>
<action type="Redirect" url="mysiteurl/mobile" appendQueryString="false" />
</rule>
</rewrite>
</system.webServer>
</configuration>
答案 0 :(得分:0)
这种情况正在发生,因为您的规则也匹配所有移动网址。您需要从规则中排除移动网址。此规则适用于您:
<rule name="Rewrite Mobile" enabled="true" stopProcessing="true">
<match url="mobile(.*)" negate="true"/>
<conditions logicalGrouping="MatchAny">
<add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone" />
<add input="{HTTP_X-Device-User-Agent}" pattern="midp|mobile|phone" />
<add input="{HTTP_X-OperaMini-Phone-UA}" pattern="midp|mobile|phone" />
</conditions>
<action type="Redirect" url="/mobile" appendQueryString="false" />
</rule>