如何用PHP制作m.mysite.com移动网站?

时间:2014-10-14 04:15:24

标签: php mobile dns subdomain

我正在关注the link制作通配符域名。现在m.mysite.com将重定向到mysite.com。但是我希望它能够显示不同版本的网站。所以m.mysite.com与mysite.com不同。我的移动版本放在htdocs / mobile文件夹中。

所以我试过

if  (array_shift((explode(".",$_SERVER['HTTP_HOST']))) == 'm'){
    include("mobile".$_SERVER['PHP_SELF']); 
    die();
}

问题是,我不能在include中包含Get变量。因此,如果网址为m.mysite.com/read.php?id=1,则缺少部分id = 1。

我该怎么做呢?

注意:此问题与如何根据设备将不同用户重定向到不同的网站无关。但这是关于如何设置两个显示具有不同子域的不同版本的站点。

3 个答案:

答案 0 :(得分:0)

一种方法是下载一个类,该类检测网站运行的设备类型(即PC,平板电脑,手机),然后适当加载CSS文件。我已经使用过几次这个课了,似乎工作正常。

https://code.google.com/p/php-mobile-detect/

从这里你可以建立课程并以你喜欢的方式修改它。

答案 1 :(得分:0)

解决方案:

将两个文件夹放在同一根目录中。第一个文件夹与mysite.com映射,其中包含不同的内容,第二个文件夹与m.mysite.com映射,内容不同。
通过这样,您可以轻松访问同一Web服务器上具有不同内容的两个域。

答案 2 :(得分:0)

有两种方法可以做到这一点......

首先,您可以使用此代码检测移动设备并将其重定向到额外的文件夹

<?php
$agent = $_SERVER['HTTP_USER_AGENT']; // Put browser name into local variable

if (preg_match("/iPhone/", $agent) OR preg_match("/android/", $agent)) { //Detect Mobile Device(You Can Add More Mobile User Agent)
// Send Mobile User To Their Site
header("location: mobile.php"); //ypu can also reirect to a folder or subdomain
} 
?>

还有第二种方式......你必须在你的索引中放置此代码......

<?php
$agent = $_SERVER['HTTP_USER_AGENT']; // Put browser name into local variable
if (preg_match("/iPhone/", $agent) OR preg_match("/android/", $agent)) { //Detect Mobile   Device(You Can Add More Mobile User Agent)
include'mobile.php'; // mobile version
} 
else{
include'pc.php'; // dekstop version
}
?>