2012-11-21 54 views
0

正在移動網站的網址,因此我們已經設置了301個重定向從每個頁面到其新頁面的等效頁面現場。我們使用這個語法是:301將主頁重新設置爲處理'www/no www'和'/index.html'的新域名

redirect 301 /about-us.html http://newiste.co.uk/about-us.html 

遇到問題制定出如何送舊主頁什麼IM - http://oldsite.co.ukhttp://newsite.co.uk - 因爲主頁是用輸出/指數domain.co.uk .html也有一個與www類似的問題。 vs非www。

會像這樣配置我的.htaccess文件在舊的域名上是正確的方式嗎?

<Files ~ "^\.(htaccess|htpasswd)$"> 
deny from all 
</Files> 
RewriteEngine on 
RewriteCond %{HTTP_HOST} ^(www\.oldsite\.co\.uk)(:80)? [NC] 
RewriteRule ^(.*) http://oldsite.co.uk/$1 [R=301,L] 
order deny,allow 

redirect 301/http://newsite.co.uk 
redirect 301 /about-us.html http://newsite.co.uk/about-us.html 
redirect 301 /contact-us.html http://newsite.co.uk/contact-us.html 
redirect 301 /bespoke-furniture.html http://newsite.co.uk/bespoke-furniture.html 
redirect 301 /how-we-work.html http://newsite.co.uk/discovery.html 
+0

您只需要將特定(列出的)URL重定向到新站點? –

回答

1

要重定向根文檔,可以使用以下重寫規則:

RewriteRule ^/?$ http://newsite.co.uk/ [R=301,L] 

也評論到你:

RewriteCond %{HTTP_HOST} ^(www\.oldsite\.co\.uk)(:80)? [NC] 

端口號是從來沒有的HTTP_HOST變量的一部分,最有效的是儘量避免使用正則表達式:

RewriteCond %{HTTP_HOST} =www.oldsite.co.uk [NC] 

您的代碼redirect 301/http://newsite.co.uk將重定向所有內容,而不僅僅是根目錄/

+0

謝謝,所以我會有這樣的RewriteRule^/?$ http://newsite.co.uk/ [R = 301,L] 重定向301 /about-us.html http://newsite.co.uk /about-us.html,併爲每個頁面開始一個新的重定向301? – sam

+0

@sam如果你只需要重定向*一些*頁面,那麼是的,你需要列出他們,因爲你現在擁有它。只需刪除'redirect 301/http:// newsite.co.uk'並添加引用的'RewriteRule' –

+0

對不起,請忽略此評論 – sam

相關問題