当访问者输入域名而不在其前面添加" www。"或者" m。",我想将它重定向到" m。"子域名,如果他使用手持设备浏览并使用" www。" (所谓的"桌面版")否则。
但是,如果用户在域前加上" www。"或者" m。",我想尊重他的选择。这个想法是网站的编辑仍然可以阅读移动或桌面版本,无论他使用哪种设备(移动设备或个人电脑),但这个概念都适用于任何访问者。
目前,我的代码如下:
#Options +FollowSymlinks
RewriteEngine On
RewriteBase /
#AllowOverride all
# Force “m.domain.com” for mobile devices instead of just “domain.com”
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|ipad|iphone|ipod|iemobile|opera mobile|palmos|webos|symbian|midp|wap|phone|pocket|mobile|pda|psp|googlebot-mobile" [NC]
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTP_HOST} !^m\.domain\.com [NC]
RewriteRule (.*) http://m.domain.com/$1 [R=301,L]
# Force “www.domain.com” instead of just “domain.com”
RewriteCond %{HTTP_HOST} .
RewriteCond %{HTTP_HOST} !^www\.domain\.com [NC]
RewriteCond %{HTTP_HOST} !^m\.domain\.com [NC]
RewriteRule (.*) http://www.domain.com/$1 [R=301,L]
网站本身在共享托管(在Infomaniak上)运行,有两个子域。
有人可以告诉我我错过了什么吗?