0

我编写了一些 PHP 来检测用户是使用移动设备还是计算机访问我的博客文章。

基本上,如果用户使用手机访问我的博客文章,我需要一个动态编辑 URL 的脚本。

例如,我的博客文章 URL 是这样的:

http://www.example.com/blog/blog-post-1/
http://www.example.com/blog/welcome-to-my-blog/
http://www.example.com/blog/另一个博客帖子/

用户应该被动态重定向到:

http://www.example.com/m/blog/blog-post-1/
http://www.example.com/m/blog/welcome-to-my-blog/
http://www.example。 com/m/blog/another-blog-post/

我也有在 PHP 中工作的设备检测,所以我只需要在 PHP 条件中插入脚本。

有任何想法吗?

4

4 回答 4

2

尝试:

if ($mobile) {
    header("Location: http://".$_SERVER["HTTP_HOST"]."/m".$_SERVER["REQUEST_URI"]);
}
于 2012-11-16T15:52:20.317 回答
0

这应该这样做:

$服务器

<?php
echo $_SERVER['HTTP_USER_AGENT'];
?>

用户代理.php:

<?php
$iphone = strpos($_SERVER['HTTP_USER_AGENT'],"iPhone");
$android = strpos($_SERVER['HTTP_USER_AGENT'],"Android");
$palmpre = strpos($_SERVER['HTTP_USER_AGENT'],"webOS");
$berry = strpos($_SERVER['HTTP_USER_AGENT'],"BlackBerry");
$ipod = strpos($_SERVER['HTTP_USER_AGENT'],"iPod");

if ($iphone || $android || $palmpre || $ipod || $berry == true)
{
header('Location: http://mobile.site.com/');
//OR
echo "<script>window.location='http://mobile.site.com'</script>";
}
?>

索引.php:

<?php
include('user_agent.php'); // Redirecting http://mobile.site.info
// site.com data
?>

本站内容。

于 2012-11-16T15:56:28.737 回答
0

这个 .htaccess 片段可能有助于完成您想要做的事情:

这种重写涵盖了大多数移动设备(几乎没有误报)。当检测到移动设备时,它会被重定向到 /m/。

http://snipplr.com/view/44741/

于 2012-11-16T15:49:09.963 回答
0

如果您已经在使用 PHP 进行设备检测,那么应该这样做:

header("Location: /m{$_SERVER['REQUEST_URI']}");
exit;

它采用当前路径并为其添加前缀"/m"以形成移动路径。

使用 JavaScript 进行重定向会排除某些移动设备,因此这可能不是最好的主意。

于 2012-11-16T15:52:31.913 回答