繁体   English   中英

通过IIS上的UrlRewrite模块重定向到移动默认页面

[英]Redirect to mobile default page by UrlRewrite module on IIS

假设有两个设计mobile.html页面,一个用于桌面,名为mobile.html ,另一个是desktop.html ,通过UrlRewrite下面的命令,我可以将用户重定向到mobile.html

<rewrite>
      <rules>
            <rule name="MobileRedirect" stopProcessing="true">
                <match url=".*" />
                <conditions>
                    <add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone|android|iphone|ipad" />
                </conditions>
                <action type="Redirect" url="/mobile.html" />
            </rule>
      </rules>
</rewrite>

但它被困在太多请求中

yourSite将您重定向了太多次。

显然是由于该rule ,它可以mobile.html重定向到mobile.html ,但是通过再次使mobile.html再次mobile.html该操作,它将以循环重定向的方式删除。 同样通过添加<add input="{url}" negate="true" pattern="mobile.html"/>也不起作用。

您可以尝试以下方法。 添加另一个条件,该条件不包含mobile.html网址。

<rule name="MobileRedirect" stopProcessing="true">
  <match url="(.*)" />
  <conditions>
    <add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone|android|iphone|ipad" />
    <add input="{PATH_INFO}" pattern="^/mobile.html$" negate="true"/>
  </conditions>
  <action type="Redirect" url="/mobile.html" />
</rule> 

如果我没有理解你的问题,你希望谁在陆地上移动用户desktop.html重定向到mobile.html和谁在陆地上桌面用户mobile.html重定向到desktop.html 这将需要2条规则,如下所示:

<rewrite>
      <rules>
            <rule name="MobileRedirect" stopProcessing="true">
                <match url="desktop.html" />
                <conditions>
                    <add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone|android|iphone|ipad" />
                </conditions>
                <action type="Redirect" url="/mobile.html" />
            </rule>
            <rule name="DesktopRedirect" stopProcessing="true">
                <match url="mobile.html" />
                <conditions>
                    <add input="{HTTP_USER_AGENT}" pattern="midp|mobile|phone|android|iphone|ipad" negate="true" />
                </conditions>
                <action type="Redirect" url="/desktop.html" />
            </rule>
      </rules>
</rewrite>

请注意,这2条规则依赖于永远不会100%可靠的用户代理 (因为它们可以更改)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM