重定向移动网站子域 [英] Redirect mobile website to subdomain

查看:756
本文介绍了重定向移动网站子域的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想重定向我的网站子域,如果访问了来自移动客户端,但在.htaccess文件似乎并不为我的计划是工作。我认为这是与事实,我也重定向非www到www在htaccess,但不能肯定。任何帮助将是AP preciated!

 < IfModule mod_rewrite.c>

RewriteEngine叙述上
的RewriteCond%{HTTP_HOST} ^ mysite.com
重写规则(。*)http://www.mysite.com/$1 [R = 301,L]

  RewriteEngine叙述上
  的RewriteCond $ l ^(?:静|安装)!(?:/.*)?$
  重写规则^(。*)$的index.php?ORIGINAL_URI = $ 1 [QSA]

< / IfModule>

选项​​+的FollowSymLinks
RewriteEngine叙述上
的RewriteBase /

#prevent循环
的RewriteCond%{HTTP_HOST}!^ m.mysite.com $

#如果浏览器接受这些的mime-type,这绝对是移动,或pretending是
的RewriteCond%{} HTTP_ACCEPT文\ /越南盾\ .wap \ .WML |应用程序\ /越南盾\ .wap \ .xhtml \ + XML[NC,OR]

#一串用户代理测试
的RewriteCond%{HTTP_USER_AGENT}索尼|塞班|诺基亚|三星|手机|的Windows CE | EPOC |歌剧[NC,OR]
的RewriteCond%{HTTP_USER_AGENT}的迷你|硝基| J2ME | midp- | cldc- | NF浏览器| MOT |达\ .browser |达\ .LINK | Audiovox公司的[NC,OR]
的RewriteCond%{HTTP_USER_AGENT}黑莓|爱立信|松下|飞利浦|三洋|锐| SIE  - [NC,OR]
的RewriteCond%{HTTP_USER_AGENT}portalmmm |夹克| AvantGo公司|危险|棕榈油| 60系列| PalmSource公司|无忧[NC,OR]
的RewriteCond%{HTTP_USER_AGENT}智能手机|流动站| iPAQ的|金话筒,|阿尔卡特| ERICY |沃达丰\ / | WAP1 \ |。WAP2 \ |。iPhone | Android的[NC]

#重写这里的规则
重写规则^(。+)\ $ http://m.mysite.com/$1 [R = 302,NC]
 

解决方案

在理想情况下,你应该只把 RewriteEngine叙述上一次,的RewriteBase 应后,立即定义。给力www的非子域的重写,对您的手机改写没有影响。我想巩固整个code座为以下:

 选项+了FollowSymLinks

< IfModule mod_rewrite.c>
  RewriteEngine叙述上
  的RewriteBase /

  的RewriteCond%{HTTP_HOST} ^ mysite.com
  重写规则^(。*)$ http://www.mysite.com/$1 [R = 301,L]

  的RewriteCond $ l ^(?:静|安装)!(?:/.*)?$
  重写规则^(。*)$的index.php?ORIGINAL_URI = $ 1 [QSA

  的RewriteCond%{HTTP_HOST}!^ m.mysite.com $
  的RewriteCond%{HTTP_USER_AGENT} (android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ | Maemo操作| MIDP | MMP | NF浏览器|歌剧\ M(OB |在)我|掌(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (CE |电话)| XDA | xiino [NC,OR]
  的RewriteCond%{HTTP_USER_AGENT} ^(1207 | 6310 | 6590 | 3gso | 4thp | 50 [1-6]我| 770S | 802S | A \ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ | S \ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ U | g560 |基因| GF \ -5 | G \ -mo |去(\ W | OD)| GR(广告| UN)|海阿| hcit | HD \  - (M | P | T)|喜\  - |喜(PT | TA)|马力(\ I | IP)| HS \ -c | HT(C(\  -  | \ | _ | A | G | P | S | T)| TP)|胡(AW | TC)| I \  - (20 |去| MA)| i230 | IAC(\ | \  -  | \ /)| IBRO |理念| ig01 | ikom | im1k | INNO | iPAQ的|虹膜| JA(T |ⅴ) | jbro | jemu |夹具| KDDI |克己| KGT(\ | \ /)| KLON | KPT \ | KWC \  -  |京(C | K)|乐(无|喜)| LG(\ g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |Ø| V)| ZZ)| MT(50 | P1 | V \ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )| WEBC |白衣|无线(G \ |数控| NW)| wmlb |倭奴| X700 |亚斯\  -  |你| zeto |中兴\  - )[NC]
  重写规则^(。*)$ http://m.mysite.com/$1 [R = 302,L]
< / IfModule>
 

I'm trying to redirect my website to a subdomain if visited from mobile clients but the .htaccess file doesn't seem to be working as I planned. I think it has something to do with the fact I'm also redirecting non-www to www in the htaccess but not sure. Any help would be appreciated!

<IfModule mod_rewrite.c>

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mysite.com
RewriteRule (.*) http://www.mysite.com/$1 [R=301,L]

  RewriteEngine On
  RewriteCond $1 !^(?:static|install)(?:/.*)?$
  RewriteRule ^(.*)$ index.php?ORIGINAL_URI=$1 [QSA]

</IfModule>

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

# prevent looping
RewriteCond %{HTTP_HOST} !^m.mysite.com$

# if the browser accepts these mime-types, it's definitely mobile, or pretending to be
RewriteCond %{HTTP_ACCEPT} "text\/vnd\.wap\.wml|application\/vnd\.wap\.xhtml\+xml" [NC,OR]

# a bunch of user agent tests
RewriteCond %{HTTP_USER_AGENT} "sony|symbian|nokia|samsung|mobile|windows ce|epoc|opera" [NC,OR]
RewriteCond %{HTTP_USER_AGENT} "mini|nitro|j2me|midp-|cldc-|netfront|mot|up\.browser|up\.link|audiovox"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "blackberry|ericsson,|panasonic|philips|sanyo|sharp|sie-"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "portalmmm|blazer|avantgo|danger|palm|series60|palmsource|pocketpc"[NC,OR]
RewriteCond %{HTTP_USER_AGENT} "smartphone|rover|ipaq|au-mic,|alcatel|ericy|vodafone\/|wap1\.|wap2\.|iPhone|android"[NC]

# rewrite rules here
RewriteRule ^(.+)\$ http://m.mysite.com/$1 [R=302,NC]

解决方案

Ideally, you should only turn RewriteEngine on once, and RewriteBase should be defined immediately after. The rewrite to force "www" on non-subdomains has no effect on your mobile rewrite. I would consolidate that whole code block into the following:

Options +FollowSymlinks

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /

  RewriteCond %{HTTP_HOST} ^mysite.com
  RewriteRule ^(.*)$ http://www.mysite.com/$1 [R=301,L]

  RewriteCond $1 !^(?:static|install)(?:/.*)?$
  RewriteRule ^(.*)$ index.php?ORIGINAL_URI=$1 [QSA

  RewriteCond %{HTTP_HOST} !^m.mysite.com$
  RewriteCond %{HTTP_USER_AGENT} (android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge\ |maemo|midp|mmp|netfront|opera\ m(ob|in)i|palm(\ os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows\ (ce|phone)|xda|xiino [NC,OR]
  RewriteCond %{HTTP_USER_AGENT} ^(1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a\ wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r\ |s\ )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1\ u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp(\ i|ip)|hs\-c|ht(c(\-|\ |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac(\ |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt(\ |\/)|klon|kpt\ |kwc\-|kyo(c|k)|le(no|xi)|lg(\ g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-|\ |o|v)|zz)|mt(50|p1|v\ )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v\ )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-|\ )|webc|whit|wi(g\ |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-) [NC]
  RewriteRule ^(.*)$ http://m.mysite.com/$1 [R=302,L]
</IfModule>

这篇关于重定向移动网站子域的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆