【发布时间】:2015-08-19 14:54:24
【问题描述】:
我有以下网址:
domain.fr (desktop site)
domain.fr/m/ (mobile site)
- 两个网址都使用“canonical”或“alternate”相互“指向”。
- 我们可以毫无问题地访问这些网址。
我想将移动设备上的人重定向到:domain.fr/m/
在 PHP 中,我尝试过:
$useragent=$_SERVER['HTTP_USER_AGENT'];
if(preg_match('/(android|bb\d+).+mobile|....',substr($useragent,0,4))){header('Location: http://domain.fr/m/');}
问题: 当我使用 Google Mobile-Friendly Test 检查 domain.fr 时,我收到以下错误消息:
(就像谷歌无法检查这是否适合移动设备)
如果我删除上面的 PHP,Google 可以进行测试,但表示 domain.fr 对用户不友好。
如何重定向到移动网站,我认为这是PHP代码的问题,有什么想法吗?
【问题讨论】:
-
看看detectmobilebrowsers.com 你可以在 nginx 中重定向 - 更快。在 PHP 中插入 exit();在 header('Location:...); 之后
-
并且,header('Location: domain.fr/m/') 重定向到具体路径,如果你需要重定向整个站点你应该修改原始路径。
-
我可以建议改用响应式设计(Bootstrap、Foundation、getmdl 等)吗?这个桌面和移动版本是 2000 年代的。
-
过去,在 2010 年或更早之前,我们不得不为各种设备使用多个版本(wap、桌面、全尺寸、小尺寸等),因为响应式设计仍然未知。我们现在有很好的响应框架来处理这个问题,如果可能的话,不要向后创建多个版本.. :)
-
确实,移动网站的html与桌面的html完全不同,它服务于不同的目标,两者都针对速度进行了优化,服务于不同的资源,唯一的事情是,seo有什么更好的?我读过文章说这两种变体都没有影响,网站速度仍然很重要,这是真的吗?
标签: php redirect mobile nginx user-friendly