2

我有2个顶级域名example.comexample.ie301重定向2个域指向相同的IP?

example.comexample.ie都指向同一IP地址,现在拉相同的内容,我们可以得到疲惫不堪与谷歌禁令锤重复的内容,所以我们希望任何人访问*.example.ie*.example.com重定向到www.example.com问题是它们都在同一台服务器指向的.htaccess是一样的。因此,我不相信我们可以做平常:

Options +FollowSymlinks 
RewriteEngine on 
rewritecond %{http_host} ^example.com [nc] 
rewriterule ^(.*)$ http://www.example.com/$1 [r=301,nc]

那么,我们如何去创建一个搜索引擎友好的301重定向*.example.ie*.example.comwww.example.com

回答

5

我会做这样的:

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

将重定向(301的StatusCode “permantly移动”)的每个域是 www.example.com到www.example.com。

+0

这对我来说看起来很好,有一个upvote! :)但是,也许你应该添加QSA标志。 – middus

+0

这里不需要QSA。它已经被附加。所以如果你打开example.com/index.php?site=123,你会被重定向到www.example.com/index.php?site=123 ..或者我错过了什么? – Seybsen

+1

我将这个标记为我最后使用的答案: 'RewriteEngine On RewriteCond%{HTTP_HOST}!^ www.example.com [nocase] RewriteRule(。*)http:// www。 example.com/$1 [last,redirect = 301]' –

0

您发布的301重定向就好了;每个请求(现今)的HTTP标头都包含主机的名称。

作为替代方案,您可以使用rel=canonical。无论如何,这并不是那么迫切,因为两个域名上的重复内容是unlikely to be a problem

+0

稍微改变了问题 - 我们需要'* .example.com'和'* .example.ie'重定向到'www.example.com',但我害怕在那里递归...就是'* .example.com '封装'www.example.com'? –

+0

@Myles Gray:好吧,为'www.example.com'制定一个例外,不要重定向。 – Piskvor