欢迎您来到,李雷博客 | PHP博客        登录  |  注册

Apache通过.htaccess(rewrite)判断手机移动端与电脑PC端的互相跳转

更新:2016-03-08 11:10:40
人气:8522
来源:本站整理
A+

一、首先要确实服务器是使用apache服务来提供Web服务的,并加载了mod_rewrite模块,具体加载mod_rewrite模块方法,网上有详细教程,请自行百度。

1.jpg

二、让apache服务器支持.htaccess。只要简单修改一下apache的httpd.conf配置就可以让APACHE支 持.htaccess了:AllowOverride None    修改为: AllowOverride All

2.jpg

三、启用.htaccess后,在现有普通网站基础上,再新建一个手机网站,也可以在现有网站根目录下新建子目录,如现有网站为www.baidu.com,新建手机站为m.baidu.com,或者新建子目录方式:www.baidu.com/m/普通站和手机站使用相同数据库,程序相同,只是显示用的模板不同。

3.jpg

四、在普通网站根目录下新建 .htaccess 文件:

# 将 RewriteEngine 模式打开RewriteEngine OnRewriteBase /# Rewrite 规则 判断用户浏览器类型,如果是手机就跳转到手机网站

RewriteCond %{HTTP_USER_AGENT} "(baidu.Transcoder|mini|android|blackberry|googlebot-mobile|iemobile|Mobile|ipad|iphone|ipod|opera mobile|palmos|webos|ucweb|Windows Phone|Symbian|hpwOS)" [NC]RewriteRule ^(.*)$ http://m.baidu.com/$1 [L,R=302]

上面的代码,自动判断手机用户然后跳转到手机网站,并带有相同的参数,如手机用户输入的网址是http://www.baidu.com/index.php?go=1那么系统跳转时会自动加上参数http://m.baidu.com/index.php?go=1。

4.jpg

五、http://m.baidu.com/$1 [L,R=302]的加入,如果手机页面中有需要访问非手机网站资源时,如其他子目录或二级网内容,就需要设置相应正则排除指定网站或文件,如: RewriteRule ^(.*?(?<!jpg)$) http://m.baidu.com/$1 [L,R=302],就不会造成手机访问非手机页面中jpg图片时出现无法访问的问题了。也可以通过判断来源是什么域名来跳转,如:

RewriteCond %{HTTP_HOST} !^img.baidu.com [NC]RewriteCond %{HTTP_HOST} !^ditu.baidu.com [NC]RewriteCond %{HTTP_USER_AGENT} "(baidu.Transcoder|mini|android|blackberry|googlebot-mobile|iemobile|Mobile|ipad|iphone|ipod|opera mobile|palmos|webos|ucweb|Windows Phone|Symbian|hpwOS)" [NC]RewriteRule ^(.*)$ http://m.baidu.com/$1 [L,R=302]

上面的意思就是,如果不是访问img.baidu.com,ditu.baidu.com的手机用户才跳转到m.badu.com。

5.jpg

六、电脑访问手机网站时跳转:

手机网站根目录下新建 .htaccess 文件:

# 将 RewriteEngine 模式打开RewriteEngine OnRewriteBase /# Rewrite 规则 判断用户浏览器类型,如果是电脑用户就跳转到普通网站

RewriteCond %{HTTP_USER_AGENT} "!(baidu.Transcoder|mini|android|blackberry|googlebot-mobile|iemobile|Mobile|ipad|iphone|ipod|opera mobile|palmos|webos|ucweb|Windows Phone|Symbian|hpwOS)" [NC]RewriteRule ^(.*)$ http://www.baidu.com/$1 [L,R=302]

这样,在手机网站下,如果是电脑用户访问了,就自动跳转到普通网站,让用户更适合浏览。

6.jpg

推荐的文章
# 发表我的评论
  /     /  
# 最近评论
暂时还没有评论,要不要说点什么?
  Ads by Google
  联系博主
Hello,本博客系统采用PHP和MySql开发,程序开发完全是因为个人爱好,是自己纯手写PHP源代码,未采用任何PHP框架!
QQ:858353007   微信号:lileihot123
网站地图
会员服务
关于我们
QQ:858353007
 
广告服务
加我微信
移动端访问
 
 
Copyright © 2014- 2025 www.mdaima.com All Rights Reserved.
李雷博客,专注PHP经验、PHP教程及PHP源代码开源下载分享的PHP博客!   ICP备案号:京ICP备10202169号-4