2011-01-05 87 views
4

我期望執行全站301重定向。原來的網站已超過15歲!我理解使用代碼製作.htaccess文件的概念:Sitewide 301重定向

redirect 301 "/old/old.htm" http://www.you.com/new.html 

但是,這會重定向每個舊網站的頁面嗎?或者只是一個個人頁面。我如何實現整個網站的重定向?

回答

0

重定向整個網站的最佳方式是通過Web服務器做域名轉發(或虛擬主機......大部分都在他們的控制面板中的選項)。

域轉發比發送301重定向回客戶端更有效率。

+0

部分網址已更改,我們不想丟失我們的SEO排名。這是可能的域轉發? – Stephanie 2011-01-05 16:10:03

+0

好問題,斯蒂芬妮。我無法確定谷歌,雅虎和Bing如何將域名轉交給301重定向,但我認爲這將是完全相同的。這對於SearchEngineWatch來說是一個很好的問題。 – Flipster 2011-01-05 19:23:50

1

假設舊網頁不存在了(會拋出404錯誤),你可以做到以下幾點:您重定向不存在了起始頁的所有頁面。 (如在下面的意見說明。)

這是你可以用它來做到這一點更新的.htaccess代碼。第一個RewriteCond檢查請求的路徑是否是一個文件,第二個檢查它是否是一個目錄。之後,你會被重定向到首頁 - 或者任何其他頁面。

http://www.example.com/i/am/an/old/page.htmlhttp://www.example.com/i/am/a/different/old/page.html都會重定向到http://www.example.com/

RewriteEngine on 
RewriteBase/

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule ./[R=301,L] 
+0

所以我應該爲每個單獨的頁面編寫一個代碼字符串? – Stephanie 2011-01-05 16:11:40

+0

不,這會照顧舊主機上的所有頁面。它當然只適用於頁面具有相同名稱的頁面。 http:// {old-host}/{page}更改爲http:// {new-host}/{page} - 無論{page}是什麼。 – Sebastian 2011-01-05 16:16:13

+0

我不會更改主機只是擴展例如:www.etterengineering.com/boosters.htm成爲www.etterengineering.com/gas_boosters.html – Stephanie 2011-01-05 16:24:33

2

可與301,301重定向用於何處內容已移至小心。

例如關於製作蛋糕的內容在這裏/makeacake.html現在是/cakes/making-a-cake.html。

什麼,我會建議是找到其中大部分的用途來,並重定向這些網頁新的相關網頁/節,只是刪除其餘並添加自定義404錯誤頁面的頁面。告訴他們舊的內容已被移動。

您還可以使用護目鏡網站管理員從該索引刪除頁面。

3

我在.htaccess(啓用阿帕奇重寫MOD)重寫,從舊網站的所有頁面 http://www.old.comhttp://www.old.com/site/index.php? ....重定向到新的站點 http://www.new.comhttp://www.new.com/website/index.php? ...(請注意,/網站/和/網站/是不同的名稱)從舊網站

https://www.old.com(注意對HTTPS的S://)重定向罰款從 https://www.old.com/site/index.php?網頁...不,他們得到一個404錯誤

因爲舊網站不保證了無論是 https://www.old.comhttps://www.old.com/site/index.php? ...真的存在了,但 https://www.old.com被重定向和那些與 /site/index.php?......加了不重定向而是去而不是一個404錯誤

0

我說得對不對在想,您的網站是在同一個域名,但你已經改變了結構呢?
因此,您有一大堆舊頁面URL現在已更改爲新的URL(但位於同一個域中)。

例如,你可能有:
www.yourdomain.com/about-us/history.htm
現在已經成爲
www.yourdomain.com/our-history.htm

如果是這種情況,您很可能需要設置許多301重定向規則。這並不一定意味着您必須爲每個頁面更改設置一條規則,因爲您可以使用RegEx來捕獲URL結構中的模式更改。作爲一個規模的例子,我最近爲一個網站設置了一個301重定向的htaccess文件,它只有不到600個更改的URL。最後有70種301重定向規則。

這不一定是一個小工作,但它是可行的。值得保留你的SEO排名。