2012-05-21 67 views
0

我正在啓動一個站點,並且想要設置一個htaccess文件,以便將舊站點從舊站點重定向到新站點。我希望它儘可能地有幫助,所以我希望將舊網站的特定鏈接重定向到新網站上具有相似內容的網頁。設置htaccess文件

我想完成的是,如果有人前往www.oldsite/oldlink.html,他們將被重定向到www.newsite.com/newlink.html,但是如果他們轉到任何其他頁面,他們將重定向到www.newsite.com/。

我知道我可以在我的htaccess文件做的第一部分(重定向一個網頁到另一個單頁)有這樣的代碼:

Redirect 301 /oldlink.html 
http://www.newsite.com/newlink.html/ 

我的問題是圍繞着想要創造一個「無所不包「重定向,我沒有在這裏具體叫出任何鏈接,因爲我不知道他們的存在,等等。我知道我能做到這一點:

Redirect 301/
http://www.newsite.com/ 

但將是覆蓋oldlink.html重定向我創建以上?

回答

2

您可以使用此:

RewriteEngine on 
RewriteRule oldlink.html http://www.newsite.com/newlink.html [NC,R=301,L] 
RewriteRule (.*) http://www.newdomain.com/ [NC,R=301,L] 

(NC =無一例/不區分大小寫; L =最後一條規則)

如果第一個重寫規則相匹配,第二個將不被使用。您可以根據需要添加任意數量的規則。 你也能http://www.oldsite.com/somelink.html重定向到http://newsite.com/somelink.html使用

RewriteRule ^(.*)\.html$ http://www.newsite.com/$1.html [R=301,NC,L] 
+1

這正是我早就給出了答案(只改變「oldsite」到「newsite」,而不是頁面名稱)。但是爲了增加它,請確保您知道規則是按照它們在文件中出現的順序來解釋/應用的。把所有東西都放在最後,並且確保在重寫時應該是最終答案的任何東西,否則它可以繼續遵循更多匹配的規則。 –

+0

感謝您的幫助! – Ash

相關問題