让 Apache 将所有 URL 重定向到不同的主机

让 Apache 将所有 URL 重定向到不同的主机

我想将所有 URL 从主机 a.myhost.com 重定向到 b.myhost.com。我探索了所有选项 - Apache 重定向、rewriterule 指令。我希望重定向到相同的目标 URL - 即http://b.myhost.com- 不管原始 URL 是什么 (egamyhost.com/a.html)。所有声称能够做到这一点的示例实际上都做不到 (至少在我的 Apache 安装中)。a.html 被转发到重定向的主机 - 这不是我们所希望的。

有任何想法吗?

答案1

NameVirtualHost *:80
<VirtualHost *:80>
  ServerName a.example.com
  RedirectMatch .*$ http://b.example.com/
</VirtualHost>

http://httpd.apache.org/docs/current/mod/mod_alias.html#redirectmatch了解详情。

答案2

RewriteEngine On
RewriteRule ^(.*)$ http://b.myhost.com/ [R,L]

那样有用吗?

答案3

我相信这样的事情会起作用

RewriteEngine on
RewriteCond %{HTTP_HOST} ^a.example.com
rewriterule ^(.*)$ http://b.example.com$1 [R=301]

相关内容