我们正在开发两个网站,一个是网络应用程序,另一个是移动应用程序。
所以我的要求是创建一个重定向 url 以从 web 应用程序重定向到移动用户的移动应用程序,但文件夹或结构不同。
对于 Web 应用程序,它是 http://testrequest.com/home/Account/ ,对于移动应用程序,它应该是http://m.testresponce.com/mforyourhome/Account.aspx
请有人可以帮助我使用 URL 重写。
编辑:- 在 IIS7 上工作
我们正在开发两个网站,一个是网络应用程序,另一个是移动应用程序。
所以我的要求是创建一个重定向 url 以从 web 应用程序重定向到移动用户的移动应用程序,但文件夹或结构不同。
对于 Web 应用程序,它是 http://testrequest.com/home/Account/ ,对于移动应用程序,它应该是http://m.testresponce.com/mforyourhome/Account.aspx
请有人可以帮助我使用 URL 重写。
编辑:- 在 IIS7 上工作
您可以使用{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% 可靠(因为它们可以更改)
从您的移动网站返回时阻止重定向:
<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>