2012-08-13 151 views
2

我有一個複雜的搜索引擎優化問題,其中谷歌已從我的名稱服務器索引數千頁。我需要重定向每個請求301除了robots.txt重定向與虛擬主機,但robots.txt

這是我到目前爲止,但它不工作。註釋掉的部分是我最初放置的部分(工作),除非它不考慮robots.txt。下面兩行是我的失敗嘗試

<VirtualHost xx.xx.xx.xx:80> 
    ServerName ns2.example.com 
    #RedirectMatch permanent /(.*) http://example.new/$1 
    RewriteCond %{REQUEST_URI} !^/robots\.txt [NC] 
    RewriteRule ^(.*)$ http://example.new/$1 [R=301,L] 
</VirtualHost> 

有沒有人看到我的錯誤? example.new是我想要重定向到的網站

+0

爲什麼你的名字服務器上安裝了Apache?它讓我的靈魂受到傷害。 – InternetSeriousBusiness 2012-08-13 22:56:53

+0

,因爲當我用phusion乘客在rails應用程序上安裝ruby時,我沒有考慮到當您將文檔根目錄從cpanel的默認設置中移開時,它會「隨機」選擇一個域(它實際上是第一個域)是我的域名服務器,並且當我的域名服務器啓動我的網站時,谷歌索引了超過3000頁的重複內容。現在即時修復那個錯誤 – Tallboy 2012-08-14 00:42:12

回答

1

有沒有人看到我的錯誤? example.new是我想重定向到

對於初學者的網站,它看起來像你需要打開重寫引擎:

RewriteEngine On 

奏效,除了現在的將一切改爲http://example.com//whatever-page與兩個//

此行:

RewriteRule ^(.*)$ http://example.new/$1 [R=301,L] 

需要有/刪除:

RewriteRule ^(.*)$ http://example.new$1 [R=301,L] 

這是因爲URI的RewriteRule是針對虛擬主機/服務器配置時,擁有國內領先的斜線匹配,所以你不需要在目標中的主機名之後進行斜槓。

+0

那工作,除了現在它重定向一切爲'http:// example.com //任意頁'與兩個// – Tallboy 2012-08-13 17:45:21

+0

@Tallboy請參閱編輯 – 2012-08-13 17:50:04

+0

謝謝!非常有幫助,非常感謝 – Tallboy 2012-08-13 17:53:05