重定向移动网站子域 [英] Redirect mobile website to subdomain
问题描述
我想重定向我的网站子域,如果访问了来自移动客户端,但在.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屋!