apache实现手机端访问跳到wap站点

需求是:pc域名是www.gouwu.com,wap域名www.gouwu.com/mobile,当用户从手机访问www.gouwu.com时就跳转到手机域名。
现在使用apache的Rewrite伪静态来实现。
1.修改conf\httpd.conf文件,去掉下面内容前的#号

LoadModule rewrite_module modules/mod_rewrite.so

在这里插入图片描述
2.找到httpd-vhosts.conf或者httpd.conf的<VirtualHost *:80>标签中,添加如下内容:

#重写开关
RewriteEngine on
#判断url,如果包含/mobile就不发生链接重写,加入不加这句话,同一域名到不同应用名会出现多次重定向错误,如果跳到不同域名就不用加下面这句话
RewriteCond %{REQUEST_URI} !^(/mobile)
RewriteCond %{HTTP_HOST}www.gouwu.com[NC]
#下面所有的RewriteCond 都是在鉴定用户是不是通过手机访问
RewriteCond %{HTTP_USER_AGENT} !ipad[NC]
RewriteCond %{HTTP_ACCEPT} “text/vnd.wap.wml|application/vnd.wap.xhtml+xml” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “acs|alav|alca|amoi|audi|aste|avan|benq|bird|blac|blaz|brew|cell|cldc|cmd-” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “dang|doco|erics|hipt|inno|ipaq|java|jigs|kddi|keji|leno|lg-c|lg-d|lg-g|lge-” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “maui|maxo|midp|mits|mmef|mobi|mot-|moto|mwbp|nec-|newt|noki|opwv” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “palm|pana|pant|pdxg|phil|play|pluc|port|prox|qtek|qwap|sage|sams|sany” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “sch-|sec-|send|seri|sgh-|shar|sie-|siem|smal|smar|sony|sph-|symb|t-mo” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “teli|tim-|tosh|tsm-|upg1|upsi|vk-v|voda|w3cs|wap-|wapa|wapi” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “wapp|wapr|webc|winw|winw|xda|xda-” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “up.browser|up.link|windowssce|iemobile|mini|mmp” [NC,OR]
RewriteCond %{HTTP_USER_AGENT} “symbian|midp|wap|phone|pocket|mobile|pda|psp” [NC]
RewriteCond %{HTTP_USER_AGENT} !macintosh [NC]
RewriteRule ^(.*)$ https://www.gouwu.com/mobile/ [L,R=302]

在这里插入图片描述
上面的字符串是apache的正则验证,简单来说就是满足条件就发生链接重写,RewriteCond相当于if的条件。[NC,OR] nc代表不区分大小写,or代表或者。RewriteRule 是满足上面条件就重写为指定链接。
修改完成后重写启动apache,记得清除浏览器缓存。

以下文章供参考:
Apache伪静态Rewrite详解
Apache mod_rewrite
apache通过.htaccess(rewrite)判断手机电脑跳转-手机用户重定向到手机版
RewriteEngine On

发布了56 篇原创文章 · 获赞 67 · 访问量 13万+

猜你喜欢

转载自blog.csdn.net/leo187/article/details/86694578