我知道这个问题经常出现,我遵循了很多示例和建议,但就是无法让它发挥作用。以下是我需要实现的目标:
我有两个配置两个域以重定向到其中一个的子域: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