我的一个网站有 3 个域名。例如 example1.com、example2.com、example3.com。我想将 example2.com 和 example3.com 重定向到 example1.com。我知道这与重定向有关,但我该将重定向规则放在哪里?在 apache 中,还是在 .htaccess 中。有什么提示吗?目前,我已将其设置为指向同一文件夹的 3 个不同的虚拟主机。谢谢。
答案1
您可以使用 .htaccess 或直接在 VirtualHost 配置中添加重写规则来执行此操作。apache 文档在这里如果您可以编辑服务器配置,则告诉您不要使用 .htaccess。如果您在不需要时在 .htaccess 中执行此操作,则 apache 必须首先检查每个页面访问时是否存在此文件。
对于重定向本身,你可以使用Redirect 301 / http://example1.com
类似http://example2.com/foo/bar/baz重定向至http://example1.com/;如果你想让它真正重定向到http://exmple1.com/foo/bar/baz(保留主机名后的其余 URL),你可以使用RedirectMatch 301 ^(.*)$ http://example1.com$1
Redirect 和 RedirectMatch 的文档这里
答案2
您可以使用 DNS 执行此操作。在您的外部 DNS 记录中,将 example2.com 和 example3.com 指向 example1.com 的外部 IP。