多个域名指向同一个地方,域名前需加 www

多个域名指向同一个地方,域名前需加 www

我有 3 个指向同一个网站的域名。

域名1.com,域名2.com,域名3.com

我想在 .htaccess 文件中添加一种方法,如果有人尝试访问 domain2.com,服务器就会将他重定向到 www.domain2.com。

对于 domain1.com 也是一样,将转到 www.domain1.com

我想在一个 .htaccess 中执行此操作,因为它们指向同一个位置。

现在我有这样的东西:

Options -indexes 
Options +FollowSymlinks
RewriteEngine on

RewriteCond %{HTTP_HOST} !^www\.domain1\.com [NC] 
RewriteRule ^(.*)$ http://www.domain1.com/$1 [R=301,L] 

RewriteCond %{HTTP_HOST} !^www\.domain2\.com [NC] 
RewriteRule ^(.*)$ http://www.domain2.com/$1 [R=301,L] 

答案1

我同意 Rikon 的观点,但你的答案是:

RewriteCond  %{HTTP_HOST}  ^domain1\.com$ [OR]
RewriteCond  %{HTTP_HOST}  ^domain2\.com$ [OR]
RewriteCond  %{HTTP_HOST}  ^domain3\.com$ 
RewriteRule (.*)  http://www.%{HTTP_HOST}/$1

答案2

我可以建议一种不同的方法吗:301 永久重定向

这对于你的 SEO 来说会更好。

这是一个很好的网站,介绍了如何为每种编程语言执行 301(包括如何使用 .htacess 执行):http://www.seoworkers.com/seo-articles-tutorials/permanent-redirects.html

以下是网站上有关如何使用 .htaccess 执行此操作的引文:

II 使用 .htaccess 进行重定向

如果您使用的是 Linux/Apache 服务器,或者可以运行 Apache 模块的 Microsoft Windows 服务器,则可以使用 .htaccess 文件进行重定向。

.htaccess 文件是一个非常强大的工具,但如果使用不当,可能会对网站造成严重破坏。在尝试进行任何更改之前,请务必保存任何现有 .htaccess 文件的备份。


使用 mod_rewrite 进行重定向

以下几行将客户端重定向到新位置。在本例中,对文件 contact.php 的请求被发送到文件 contact-us.php:

rewriteEngine 在 rewriteRule ^contact.php$ 上http://www.dexterityunlimited.com/contact-us.php[R=永久,L]


重定向所有非 www 流量

以下代码会将所有 URL 中不包含 www 的流量导向同一页面,但现在包含 www。这将解决您网站的 www 版本与非 www 版本一起被编入索引时出现的规范化问题:

rewriteCond %{HTTP_HOST} ^dexterityunlimited.com$ rewriteRule ^.*$http://www.dexterityunlimited.com%{REQUEST_URI} [R=永久,L]


原始来源:搜索引擎友好永久重定向 - SEO 工作者http://www.seoworkers.com/seo-articles-tutorials/permanent-redirects.html#ixzz1Us3DQxtj 根据知识共享许可:署名,禁止演绎

仅供参考:以下是(来自上述网站)关于为什么要执行 301 的引述:

我确信你们中有些人会问这个问题。答案有很多,取决于你的具体情况。

您的网站上是否有过时的链接,但您无法更改它们?只需创建一个重定向,即可将使用该过时链接的访问者引导到您网站上最合适的新页面。

目录中的某个链接是否拼写错误,或者缺少 www?使用上述方法之一在服务器上更正此问题。

您可以使用多种方法来控制人们在您的网站上看到的内容和访问的位置。花点时间学习一些技巧,您可能会发现您的流量会增加,因为您不会遗漏任何人。

相关内容