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