一種選擇是將所有舊的重定向規則轉儲到外部文件中。
RewriteMap oldurls txt:S:\rewritemaps\oldurls.txt [NC]
RewriteRule ^(.*\.asp)$ ${oldurls:$0} [NC,L,R=301]
第二個選項是鞏固規則。下面的規則...
RewriteRule ^/about/page1.asp /about [NC,L,R=301]
RewriteRule ^/about/page2.asp /about [NC,L,R=301]
RewriteRule ^/about/page3.asp /about [NC,L,R=301]
可以合併成:
RewriteRule ^/about/page(.*).asp /about [NC,L,R=301]
最終的搜索引擎將開始緩存目標網址,所以原來的網址會少值。我認爲Google會逐漸將舊Url的Page Rank轉移到新Url。要測試是否使用重定向規則,請嘗試在ISPAI規則中添加查詢字符串。您可以在Google Analytics中跟蹤queryStrings。
RewriteRule ^/oldurl /newurl?redirect [NC,L,R=301]
很可能人都有老的書籤,從其他網站等鏈接,所以你可能不希望刪除該規則,即使沒有使用它們。您可以查看who is linking to you in Google Webmaster tools。
@詹姆斯 - 「最終谷歌將開始緩存目標網址,所以原來的網址將有更少的價值」這是不正確的。原始網址具有值,因爲它們已鏈接到外部網站。此外,「您可以跟蹤Google Analytics中的queryStrings」也是一個不好的建議。 「人們」不必訪問鏈接,搜索引擎正在這樣做。最後,「您可以通過Google網站管理員工具查看誰鏈接到您」。也不是這樣。 Google網站站長工具不會顯示此信息。您需要像SEOMoz的Linkscape這樣的第三方工具。 – Keltex 2010-02-25 23:29:59
@Keltex,「少值」,而不是「沒有價值」。我在後面提到你不應該因外部鏈接而刪除規則。查詢字符串的想法很簡單,就是測試重定向規則是否正在被使用,正如你所提到的,不應該是移除重定向規則的證明。要在Google網站管理員工具中查看誰鏈接到您的網站,請在左側的信息中心下選擇「網站上的您的網站」,「鏈接到您的網站」。谷歌承認,並非所有指向您網站的鏈接都可能在此報告中列出,但它很有幫助。 – 2010-02-26 15:11:33