指向域名前需要www的同一地点的多个域名

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

domain1.com,domain2.com,domain3.com

我想在.htaccess文件中添加一个方法,如果有人试图访问domain2.com,服务器将把他redirect到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] 

我同意Rikon,但这里是你的答案:

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

我可以build议一个不同的方法:301永久redirect

这对你的search引擎优化会好得多。

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

以下是网站上关于如何使用.htaccess进行的引用:

II使用.htaccessredirect

如果您在Linux / Apache服务器或可以运行Apache模块的Microsoft Windows Server上,则可以使用.htaccess文件执行redirect。

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


用mod_rewriteredirect

以下行将客户端redirect到一个新的位置。 在这种情况下,文件contact.php的请求被发送到文件contact-us.php:

rewriteEngine on rewriteRule ^ contact.php $ http://www.dexterityunlimited.com/contact-us.php [R = permanent,L]


redirect所有非wwwstream量

下面的代码会将所有不包含www中的www的stream量指向同一个页面,但现在包括www。 这将清理当您的网站www版本与非www版本一起索引时出现的规范化问题:

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


原始来源:search引擎友好永久redirect – search引擎优化工作者http://www.seoworkers.com/seo-articles-tutorials/permanent-redirects.html#ixzz1Us3DQxtj根据知识共享许可协议:归因没有衍生物

供参考:这是(上述网站)报价为什么要做301:

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

是否有链接到您的网站是过时的,但你没有办法改变它们? 只需创build一个redirect,将访客使用该过时的链接到您的网站上最合适的新页面。

某个目录中有拼写错误或缺lesswww的链接? 使用上述方法之一来纠正服务器的情况。

有很多方法可以控制人们看到的内容以及他们在网站上的位置。 花一些时间学习一些技巧,你可能会发现你的stream量增加,因为你不留下任何人。