2012-11-16 83 views
0

我写了一些PHP,检测用户是否使用移动设备或计算机访问我的博客文章。jQuery/Javascript - 动态插入文本到URL

基本上,我需要一个脚本,如果用户使用移动设备访问我的博客帖子,则会动态编辑URL。

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

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

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

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条件内插入。

任何想法?

+0

这应该被标记为'php'问题,可能是'htaccess'问题,但不是'javascript'或'jquery'问题。 – madlee

+0

好的,对不起,我不知道这样做的最好方法 –

回答

2

尝试:

if ($mobile) { 
    header("Location: http://".$_SERVER["HTTP_HOST"]."/m".$_SERVER["REQUEST_URI"]); 
} 
0

这的.htaccess片段可能有助于实现你希望做什么:

这种重写覆盖了大多数的移动设备(除了少数误报)。当检测到移动设备时,它将被重定向到/ m /。

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

0

如果您已经使用PHP做设备检测,这应该这样做:

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

它采用当前路径和它的前缀与"/m"形成移动路径。

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

0

这应做到:

$服务器

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

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>"; 
} 
?> 

的index.php:

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

内容从this网站。