【发布时间】:2011-08-16 20:05:29
【问题描述】:
我有一个包含大约 2000 个链接的网站,以及具有完全相同页面的其他网站。
我需要知道如何在 apache 中执行从一个域到另一个域的重定向,考虑到 .com 之后两个站点上的页面将是相同的
示例 用户要求: www.mydomain.com/product1
应该重定向 www.mydomain2.com/product1
应该是301重定向
感谢您的帮助
【问题讨论】:
我有一个包含大约 2000 个链接的网站,以及具有完全相同页面的其他网站。
我需要知道如何在 apache 中执行从一个域到另一个域的重定向,考虑到 .com 之后两个站点上的页面将是相同的
示例 用户要求: www.mydomain.com/product1
应该重定向 www.mydomain2.com/product1
应该是301重定向
感谢您的帮助
【问题讨论】:
这可以通过 mod_rewrite 轻松完成:
Options +FollowSymLinks -MultiViews
RewriteEngine On
RewriteBase /
# redirect all requests to www.domain2.com domain
RewriteCond %{HTTP_HOST} =www.domain.com
RewriteRule .* http://www.domain2.com%{REQUEST_URI} [R=301,L]
这将放置在 www.mydomain.com 的网站根文件夹(或虚拟主机上下文)中的 .htaccess 中。这还假设 www.mydomain.com 和 www.mydomain2.com 位于不同服务器/虚拟主机上(换句话说,不指向同一个物理文件夹)。
【讨论】:
www.domain.com 请求 URL 时发出重定向。您应该立即提到如此重要的细微差别,否则任何重定向规则都会进行无限重定向,因为两个域都使用相同的 .htaccess 和重写规则。
我一直在我的公司这样做。如果您知道如何使用mod_rewrite,请转至RewriteEngine on 并使用带有[R] 标志的RewriteRule:
RewriteRule www.mydomain.com/product1 www.mydomain2.com/product1 [L,R]
【讨论】: