4

我们正在开发两个网站,一个是网络应用程序,另一个是移动应用程序。

所以我的要求是创建一个重定向 url 以从 web 应用程序重定向到移动用户的移动应用程序,但文件夹或结构不同。

对于 Web 应用程序,它是 http://testrequest.com/home/Account/ ,对于移动应用程序,它应该是http://m.testresponce.com/mforyourhome/Account.aspx

请有人可以帮助我使用 URL 重写。

编辑:- 在 IIS7 上工作

4

2 回答 2

4

您可以使用{HTTP_USER_AGENT}条件来执行此操作。
适用于您的情况,如下所示:

<rule name="Mobile Redirect" stopProcessing="true">
    <match url="^home/Account/$" ignoreCase="true" />
    <conditions logicalGrouping="MatchAny" trackAllCaptures="false">
        <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="http://m.testresponce.com/mforyourhome/Account.aspx" appendQueryString="false" />
</rule>

它将完全匹配home/Account/,如果用户从移动设备浏览,他/她将被重定向到http://m.testresponce.com/mforyourhome/Account.aspx

重要的

仅应用此规则http://testrequest.com/(或至少避免陷入无限重定向)。
用户代理永远不会 100% 可靠(因为它们可以更改)

来源:http ://forums.iis.net/t/1169853.aspx

于 2013-03-20T19:44:39.457 回答
0

从您的移动网站返回时阻止重定向:

<rule name="Mobile Redirect" stopProcessing="true">
  <match url="^home/Account/$" ignoreCase="true" />
  <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{HTTP_REFERER}" pattern="http://m.testresponce.com(.*)" negate="true" />
    <add input="{HTTP_USER_AGENT} {HTTP_X-Device-User-Agent} {HTTP_X-OperaMini-Phone-UA}" pattern="midp|mobile|phone" />
  </conditions>
  <action type="Redirect" url="http://m.testresponce.com/mforyourhome/Account.aspx" appendQueryString="false" />
</rule>

于 2015-05-06T13:15:53.010 回答