我有一個小小的困境。htaccess 301重定向url
我一直在做一個項目近一年,現在有一箇舊的域名。不知道Google如何在舊域名下爲整個網站建立索引,這讓我很擔心。我想把網站放在我的新域名上,我認爲做301是前進的方向。我需要在每個動態頁面上執行此操作。好的是頁面結構是一樣的。
任何有關如何做到這一點的最佳途徑的建議將受到大量讚賞。
我有一個小小的困境。htaccess 301重定向url
我一直在做一個項目近一年,現在有一箇舊的域名。不知道Google如何在舊域名下爲整個網站建立索引,這讓我很擔心。我想把網站放在我的新域名上,我認爲做301是前進的方向。我需要在每個動態頁面上執行此操作。好的是頁面結構是一樣的。
任何有關如何做到這一點的最佳途徑的建議將受到大量讚賞。
這一切從olddomain.com重定向到newdomain.com:
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?olddomain\.com$
RewriteRule ^(.*)$ http://www.newdomain.com/$1 [R=301,QSA,L]
你可以把mod_rewrite的代碼到你的OLDDOMAIN的.htaccess。
最好的方法是創建一個.htaccess
文件,如果你還沒有,並將其粘貼在你的HTML文件夾。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^old/page new/page [R=301,L] #can copy and paste this as many times as needed
</IFModule>
有一種方法可以通過php(.htaccess是最好的)來實現,但是這對我來說一次或兩次派上用場。
<?php
//this can be set however you need it to be
$dynamic_redirect = "http://foo.com".$your_variable;
header("HTTP/1.1 301 Moved Permanently");
header("Location: ".$dynamic_redirect);
exit();
?>
如果您的主機所不支持mod_rewrite的(是的,有這樣的託管公司),或者它並不適用於一些奇怪的和未知的原因,工作,去一個更簡單的和廣泛使用的指令:Redirect或RedirectMatch。
把這樣一行到您的.htaccess
老域名:
Redirect 301/http://www.newdomain.com/
上面一行將從舊域名重定向ALL URLss進入新的領域起訴301碼(永久重定向),這是從SEO的角度來看是正確的。
如果您需要重定向這樣的單頁或將它指向一個特定的新位置,使用這樣的規則(同上只是指定確切網址):
Redirect 301 /help-shipping.html http://www.newdomain.com/help/shipping.php
Apache的mod_rewrite的手冊有一個頁面: When NOT to use mod_rewrite。這裏列出了這個特定的場景(重定向是更輕,RewriteRule就資源而言,這可能是非常繁忙的服務器上的問題)。