首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Tritium中,如何强制链接转到桌面站点?

在Tritium中,如何强制链接转到桌面站点?
EN

Stack Overflow用户
提问于 2013-05-28 23:52:57
回答 2查看 365关注 0票数 1

我正在使用Moovweb SDK开发一个网站,但有一些部分我不想为移动设备更改。如何强制这些链接指向原始桌面站点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-05-30 14:31:17

您可以通过告诉tritium您想要将给定请求更改为重定向请求,然后重定向到桌面网站来完成此操作。

在混音器simple-mobile版本1.0.224及更高版本中,有帮助函数可以做到这一点:

代码语言:javascript
复制
redirect_temporary("www.desktop.com") # 302 redirect.
redirect_permanent("www.desktop.com") # 301 redirect.

如果URL路径中包含单词“桌面”,下面是一个临时重定向的示例。

代码语言:javascript
复制
match($path) {
  with(/desktop/) {
     redirect_temporary("www.desktop.com")
  }
  else() {
    // normal transformations.
  }
}

理想情况下,在调用redirect_*函数之后,您不会再执行任何tritium (没有任何意义,因为您无论如何都要重定向)。

这里要注意的一点是,如果您在www.desktop.com上设置了负载均衡器,以便在看到移动用户代理时重定向到www.mobile.com。如果是这样的话,你会陷入无限的重定向循环中!

绕过这一点实际上取决于您的设置,并且差异很大。虽然我不知道任何现有的解决方案,但一个实验性的方法是在客户端设置一个cookie,其值是您不希望重定向的URL。如果您的负载均衡器看到此cookie,并且请求路径与cookie中的值匹配,则会避免重定向。

如果你想完成上面的场景,你也可以像这样在3H中这样做:

代码语言:javascript
复制
match($path) {
  with(/desktop/) {
     add_cookie("avoid_redirect", $path, "www.desktop.com")
     redirect_temporary("www.desktop.com")
  }
  else() {
    // normal transformations.
  }
}

然后,在负载均衡器中,如果cookie的值中的路径是所请求的路径,则必须检查avoid_redirect cookie并避免重定向到移动设备。

票数 2
EN

Stack Overflow用户

发布于 2013-05-30 08:29:40

如果您仍然希望URL为"m.mysite.com“,最好的方法是通过scripts/main.ts

之后:

代码语言:javascript
复制
match($detected_content_type) {
  with(/html/) {

你应该输入:

代码语言:javascript
复制
match($path) {
  with(/non_mobile_page_here/) {
    # do nothing!
  }
  else() {
    # put the rest of the html scope in here. 
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16796380

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档