.NET站点的移动重定向 - 如何在IIRF中进行设置?

时间:2011-11-10 16:16:04

标签: .net .htaccess redirect mobile iirf

我正在开发基于.NET的移动网站(m.website.com)。 我在主站点(非移动)上使用IIRF进行URL重写。

现在,如果他们登陆主站点(www.website.com),则需要将任何移动用户重定向到移动站点。我可以通过检查IIRF中的用户代理并重定向来实现此目的。

我面临的问题是:

移动网站将有一个返回主站点的链接。如果移动用户点击此链接,则不应将其重定向回移动设备。

我试图遵循这篇文章中提到的htaccess解决方案 - Mobile Redirect using htaccess,但它与IIRF无法正常工作。 RewriteCond的{​​{1}}无法正常运行。此外,我不确定我是否可以从IIRF本身设置一个cookie,就像它在链接中提到的那样。

我已经在这个问题上苦苦挣扎了好几个小时,如果有人可以提供帮助的话会很棒。

我尝试的另一种方法是检查{QueryString}以避免重定向,如果引荐网站是移动网站但是效果不佳。

1 个答案:

答案 0 :(得分:0)

IIRF does not offer the [co] modifier to set a cookie - 但您应该可以在.NET中轻松完成。

然而,IIRF支持在您的条件中使用{HTTP_COOKIE}来检查Cookie值。

{QUERY_STRING} is also supported(只需确保包含下划线)。此外,它是HTTP_REFERER,而不是HTTP_REFERRERa misspelling we'll have to live with...)。

因此,您可以根据用户代理调整重写规则(该列表来自哪里?) from the question you linked。如果符合以下情况,请重定向到移动网站:

  • 要求的网址不是移动网站
  • 网址不包含 no-redirect 查询字符串(?noredirect=1或类似名称)
  • 无重定向Cookie 现在
  • 用户代理与链接问题
  • 中的魔术长列表匹配