命名虚拟主机 Apache2 和 301 从根域重定向到子域

命名虚拟主机 Apache2 和 301 从根域重定向到子域

我知道这个问题经常出现,我遵循了很多示例和建议,但就是无法让它发挥作用。以下是我需要实现的目标:

我有两个配置两个域以重定向到其中一个的子域:domain-one.com(和 www.domain-one.com)和 domain-two.com 都应该发送 301 Moved Permamently 标头并重定向到 www.domain-two.com。

我已经为 domain-one.com 设置了 NamedVirtualHost,如下所示:

ServerName domain-one.com
ServerAlias www.domain-one.com
Redirect 301 ^/ http://www.domain-two.com

这似乎适用于 domain-one.com,但 www.domain-one.com 不会重定向,整个设置似乎被忽略,并提供服务器默认主机配置设置中的文件。

至于从 domain-two.com 重定向到 www.domain-two.com,我创建了两个 NamedVirtualHosts,www.domain-two.com 是实际站点及其配置(ServerName 设置为 www.domain-two.com),domain-one.com 的配置如下:

ServerName domain-two.com 
Redirect 301 ^/ http://www.domain-two.com

而且这个配置也会失败。

从我读到的关于 Apache Redirect 指令中的重定向应该足以实现我的需要。我可以使用一些 mod_rewriting 甚至使用 PHP 和适当的 headers() 来做我想做的事情,但有人能向我解释一下我的想法和这个配置有什么问题吗?

谢谢

答案1

尝试

Redirect permanent /(.*) http://www.domain-two.com/$1

如果你不想将请求附加到域,那么你可以这样做

Redirect permanent /(.*) http://www.domain-two.com

相关内容