2012-12-21 72 views
4

我的問題對我來說似乎很簡單,但我無法找到一個簡單的解決方案。這裏有:我有一個主域,並指向該主域的多個域。爲了避免重複的內容我想所有的「二級」或「停」域名重定向到我的主要領域,使其解析到此:多個停放域的重定向不適用於文件名

  • www.parkeddomain1.com => www.maindomain.com
  • www.parkeddomain2.com => www.maindomain.com
  • www.parkeddomain3.com => www.maindomain.com

等等......

現在我發現這個htaccess的代碼是一種全面解決方案N(我寧願):

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www.maindomain.com$ 
RewriteRule ^(.*)$ http://www.maindomain.com/$1 [R=301] 

所以這段代碼時,我只能用簡單的域名停放打交道,不與子文件夾或子文件停放的域名工作。所以:

  • www.parkeddomain1.com => www.maindomain.com

重定向工作正常,在這裏,但是當我添加子文件夾出現這種情況:

  • www.parkeddomain1.com /子文件夾/ => www.parkeddomain1.com/subfolder/

當我正在尋找的是:

  • www.parkeddomain1.com/subfolder/ => www.maindomain.com/subfolder/

這一切,以避免與搜索引擎的重複內容的問題。

感謝所有的答案,將指導我的解決方案。

乾杯!

+1

加上 「L」 還有什麼在你的.htaccess * *文件,或者是這個嗎? – BPaasch

+1

你使用的是Apache嗎? –

回答

2

如果您唯一的目的是安撫搜索引擎,您可以指定一個規範的URL,告訴搜索引擎一條內容的權威URL。因此,即使相同的內容由多個不同的查詢字符串變體或幾個不同的域來提供服務,規範化的URL也會告訴搜索引擎,這些只是一個真實URL的替代品。

查看Google Webmaster Central Blog about Canonical URLs瞭解詳情。

3

如果提問者開始改寫與[R=301] 301重定向執政,又名「永久重定向」,然後他試圖查看他的URL www.parkeddomain1.com/subfolder/但規則的結果是不他想要什麼,然後即使他試圖改變重定向規則,他的網絡瀏覽器將總是將該URL重定向到第一個URL,在該URL處重定向[R=301]標誌。因爲一旦瀏覽器被永久重定向到錯誤的地址,即使你編輯了規則多少次,你的瀏覽器仍然會被重定向到舊地址,這是瀏覽器的事情,你甚至可能會繼續修改規則,並且然後再次更改規則而不知道它。更改瀏覽器中的301重定向可能需要很長時間才能顯示。

解決方法是重新啓動Web瀏覽器,或使用其他瀏覽器。因此,如果您正在測試,最好使用[R]標誌而不是[R=301]標誌。當您100%確定該規則完全按照預期執行時,則將其切換爲[R=301]標誌。否則,這個問題屬於Server Fault

1

嘗試後301

RewriteEngine on 
RewriteCond %{HTTP_HOST} !^www.maindomain.com$ 
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,L]