【问题标题】:Redirect only with specific domain仅使用特定域重定向
【发布时间】:2015-06-30 18:34:13
【问题描述】:

我有一个包含 2 个不同域的网站,例如:

www.example.com www.example.net

现在我希望,来自 example.com 的每个用户都应该被重定向到 www.example.de

试过了:

RewriteEngine On
RewriteCond %{HTTP_HOST} !^example\.com$
RewriteRule ^.*$ http://example.de/$0 [L,QSA,R=301]

但现在仍然来自 example.net 的所有用户都被重定向到 example.de

我该如何解决这个问题,只有来自 example.com 的用户会被重定向(包括所有子文件夹)。

谢谢!

【问题讨论】:

  • RewriteCond %{HTTP_HOST} ^example\.com$中删除!

标签: .htaccess redirect


【解决方案1】:

试试这个 - 你想匹配 example.com(删除 !),将传入的 url 捕获到 $1 中会更清晰。

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

另外,在调试时,将R=301 更改为R,这样您的浏览器就不会“坚持”旧规则。当它工作时,将它改回R=301

【讨论】:

  • 谢谢 - 但它仍然无法正常工作。当我尝试 example.net 时,它仍在重定向 - 如果有其他规则,我已经检查过了,但这里什么都没有。它是一个简单的托管服务提供商,所以我不知道他如何处理多个域。还有其他想法吗?
  • 尝试以隐身模式浏览浏览器,或清除历史记录/缓存。浏览器有可能缓存了原始重定向(Chrome 经常这样做)。
  • 哦,好吧,浏览器似乎已经缓存了重定向。我现在用另一个浏览器再试一次
  • 谢谢 - 现在再次尝试删除浏览器缓存。生病时删除“!”它不起作用(因此没有重定向)-也许您有其他想法?
  • @goodeye 您关于将 R=301 更改为 R 的提示非常棒。这给我带来了很多麻烦
猜你喜欢
  • 2019-07-10
  • 1970-01-01
  • 2013-07-13
  • 2016-06-10
  • 2023-04-05
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多