2013-01-31 158 views
8

我有一個由其他人託管的網站,所有的網頁都是.html文件。我現在主持該網站,並將其更改爲wordpress網站。域沒有改變,但顯然所有的頁面都有。將所有.html頁面重定向到主要網址的最佳方式是什麼?301重定向vs重寫

回答

7

301 Redirect.htaccess不需要mod_rewrite庫。這是一種更簡單的重定向方式,但它沒有使用重寫規則的靈活性和強大功能。如果你有一個1-1映射有明確的網址,你可以使用重定向:

Redirect 301 /path/file.html http://new.site.com/newpath.php 

如果你試圖做一些使用正則表達式類似模式的通配符匹配,您需要使用重寫。

RewriteRule ^(.*).html$ http://new.site.com/$1.php [R=301,NC,L] 

這裏有2種方法一個很好的概述:http://www.ksl-consulting.co.uk/301-redirect-examples.html

+1

如果我想重定向WWW和非WWW版本,該怎麼辦?我可以在沒有RewriteRule或mod_rewrite庫的情況下執行此操作嗎? –

+0

@Boris_yo不,你需要重寫條件,如果你想趕上協議http與https – Ray

+0

不是一個協議,但WWW和非WWW –

0

還有RedirectMatch也不會使用正則表達式類似模式的通配符匹配。選擇取決於你需要做什麼。

重寫是複雜的 - 學習曲線 - 但你可以提供替代的網址,而無需提供HTML代碼和看起來不可行的東西。但隨着巨大的力量來複雜和大量的錯誤。

如果你只是做一個簡單的重定向 - 可能匹配一些URL - 重定向是要走的路。

當您無法使用重定向時,您可能會想要開始學習Mod_Rewrite。

+0

Can你在答案中顯示了一些示例代碼? –