4

我正在寻找一种将移动浏览器重定向到我网站的移动特定版本的方法。我的问题是我还需要在移动版本中提供一个链接,让用户可以根据需要查看桌面站点。

我可以根据浏览器重定向,但链接到主站点只会循环回移动设备。

我不能使用会话变量,因为我的登录系统会破坏会话数据,从而导致用户在注销时返回移动站点。

我曾想过使用重定向脚本作为单独桌面主页的索引页面,但这需要重组我的桌面站点并使用 cms 进行破坏。我也不确定这会对搜索引擎评级产生什么影响。

任何人都可以用任何其他好的方法来处理这个问题,还是我不得不硬着头皮重组我的桌面网站?

4

3 回答 3

4

当用户强制查看发送 get 参数的桌面版本时,您应该设置一个 cookie(不是会话 cookie),然后在您检测到浏览器重定向到移动版本的块中检查它的存在。基本上(伪代码):

# set the cookie if the user want to see the desktop version
if GET[force-desktop-version]
   set_cookie(force-desktop-version = 1)
end

# check the cookie and the browser before redirecting
if NOT get_cookie(force-desktop-version) and mobile_browser_used 
   redirect_to the_mobile_version
end
于 2013-06-25T13:11:41.947 回答
1

没有!有一个非常简单的方法。您可以通过这种方式检查用户访问的最后一个页面: document.referrer
如果引用者是移动页面以外的任何网站,则将用户发送到移动页面,如果是移动页面,那么您知道他们点击了“重定向到桌面”版本的链接。

于 2013-06-25T13:03:47.167 回答
0

在退出页面(会话数据被破坏)上,只需检查 $_SESSION['mobile'] 或某些变量名称是否设置为 1。如果设置为 1,则重新启动会话并在新会话中仅将此值设置为 1,然后再重定向到主页。

于 2013-06-25T13:07:15.017 回答