我们正在开发两个网站,其中一个是webapplication,另一个是移动应用程序。
所以我的要求是为移动用户创建一个重定向网址,从webapplication重定向到移动应用程序,但文件夹或结构不同。
对于Web应用程序而言 http://testrequest.com/home/Account/ 对于移动设备,它应该是http://m.testresponce.com/mforyourhome/Account.aspx
请有人帮我使用网址重写。
已编辑: - 在IIS7上工作
答案 0 :(得分: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>
它将与exactely home/Account/
匹配,如果用户正在从移动设备浏览,则他/她将被重定向到http://m.testresponce.com/mforyourhome/Account.aspx
重要强>
仅在http://testrequest.com/
上应用此规则(或者至少避免陷入无限重定向)
User agent永远不会100%可靠(因为它们可以更改)
答案 1 :(得分: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>