【发布时间】:2014-08-19 21:02:30
【问题描述】:
我有几个域,但我将只考虑两个不同的域 domain1.com 和 domain2.com。只有第一个有手机版,网址是m.domain1.com,我没有第二个手机版。
两个域位于相同的文件路径中(在 drupal 上),因此当用户尝试从移动设备访问这些域(domain1.com 和 domain2.com)中的任何一个时,用户将被重定向到 m.domain1.com
所以,我想要的是,当移动设备连接到 domain2.com 时,它会为 domain2.com 提供服务(不需要重定向),并且只有当它连接到 domain1.com 时,才会重定向到 m.domain1.com
这是我在 .htaccess 文件中得到的内容
RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera mobile|palmos|webos" [NC]
RewriteCond %{HTTP_HOST} ^domain1.com$
RewriteCond %{HTTP_HOST} !^m\.
RewriteRule ^$ http://m.domain1.com/ [L,R=302]
有人可以帮帮我吗?
【问题讨论】:
-
删除
RewriteCond %{HTTP_HOST} ^domain1.com$行,将规则更改为RewriteRule ^$ http://m.%{HTTP_HOST}/ [L,R=302]。虽然你可能想在那里去掉一个可能的www.前缀。 -
谢谢!但只有 domain1.com 有手机版。这样做是将所有域重定向到 m.(any_domain_here)。
-
嗯,那么您的原始代码应该可以工作....但是您可以省略
RewriteCond %{HTTP_HOST} !^m\.然后....或者我们是否遇到了您通过 www.domain1.com 去那里的问题那么 domain1.com 呢?因为我会改用^(www\.)?domain1.com$。 -
嗯,不是真的。发生的事情是,如果我访问 domain2.com(托管在同一台服务器上),它会重定向。那不应该。
-
RewriteCond %{HTTP_HOST} ^domain1.com$应该是假的,除非 domain2.com 以一种非常奇怪的方式代理而不是直接到达......如果你在 Drupal 工作,你能分享一下$_SERVER如果您要访问 domain2.com 是否成立?$_SERVER['HTTP_HOST']应该在那个时候是domain2.com,但如果不是......还有其他事情发生。
标签: apache .htaccess mod-rewrite drupal-6