如何重定向到移动网站,同时仍然打开选项以查看桌面版本

时间:2013-06-25 12:58:46

标签: php mobile cross-browser

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

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

我无法使用会话变量,因为我有一个登录系统会破坏会话数据,因此会导致用户在注销时返回移动网站。

我想过使用重定向脚本作为separe桌面主页的索引页面,但这需要重构我的桌面网站并对cms造成严重破坏。我不确定这会对搜索引擎评级产生什么影响。

处理此问题的任何其他好方法都可以,或者我必须咬紧牙关并重组我的桌面网站?

3 个答案:

答案 0 :(得分: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

答案 1 :(得分:1)

都能跟得上!有一个非常简单的方法来解决这个问题。您可以通过以下方式检查用户访问的最后一页: document.referrer
如果推荐人是移动页面以外的任何网站,如果是移动页面,则将用户发送到移动页面,然后您知道他们点击了“重定向到桌面版本”链接。

答案 2 :(得分:0)

在注销页面(会话数据被销毁的位置)上,只需检查$ _SESSION ['mobile']或某个变量名是否设置为1。如果设置为1,则再次启动会话,并在重定向到主页之前在新会话中将此值设置为1。