IIS在重写规则上获得了ERR_TOO_MANY_REDIRECTS

时间:2017-11-02 08:38:00

标签: redirect iis mobile

我正在尝试创建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>

1 个答案:

答案 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>