【问题标题】:Several domains and only one redirection needed on htaccess filehtaccess 文件需要多个域和一个重定向
【发布时间】: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


【解决方案1】:

来了!谢谢你的帮助!!

RewriteCond %{HTTP_USER_AGENT} "android|blackberry|googlebot-mobile|iemobile|iphone|ipod|opera mobile|palmos|webos" [NC]
RewriteCond %{HTTP_HOST}          !^m\.
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com [NC]
RewriteRule ^$ http://m.domain1.com [L,R=302]

希望有人可以使用它!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-06
    • 2020-02-12
    • 2016-06-11
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 2013-04-06
    • 2023-03-26
    相关资源
    最近更新 更多