apache+php完美解決301重定向的兩種方法

  • 時間:2017-01-02 14:09 編輯:18源碼商城 來源:http://www.yamwpn.tw 閱讀:617
  • 掃一掃,手機訪問
摘要:本文為大家講解的是apache和PHP實現301重定向的兩種方法,感興趣的同學參考下。301重定向真是個好方法啊。前一篇文章Gevin也說過,本博客不幸被換域名了。域名一換,以前辛苦做博客的成果也就報廢了,網上的相關鏈接也打不開了,搜索引擎

本文為大家講解的是apache和PHP實現301重定向的兩種方法,感興趣的同學參考下。

301重定向真是個好方法啊。前一篇文章Gevin也說過,本博客不幸被換域名了。域名一換,以前辛苦做博客的成果也就報廢了,網上的相關鏈接也打不開了,搜索引擎的收錄也杯具了


301重定向可促進搜索引擎優化效果 

從搜索引擎優化角度出發,301重定向是網址重定向最為可行的一種辦法。當網站的域名發生變更后,搜索引擎只對新網址進行索引,同時又會把舊地址下原有的外部鏈接如數轉移到新地址下,從而不會讓網站的排名因為網址變更而收到絲毫影響。同樣,在使用301永久性重定向命令讓多個域名指向網站主域時,亦不會對網站的排名產生任何負面影響。


關于301重定向的更多內容,大家不妨Google一下。本文只介紹實現方法啦!

301重定向的實現,我以前也寫過一篇相關的文章,但這篇文章的解決方法比較簡單,只能實現主頁的跳轉,本文介紹的這兩種方法,可以完美實現301重定向。


方法1:修改.htaccess文件

代碼如下:


<ifmodule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]

RewriteRule ^(.*)$ http://blog.xxx.net/$1 [R=301,L]

RewriteCond %{HTTP_HOST} iflyhigher.tk$ [NC]

RewriteRule ^(.*)$ http://xxx.net/$1 [R=301,L]

RewriteCond %{HTTP_HOST} moiya.tk$ [NC]

RewriteRule ^(.*)$ http://xxx.net/$1 [R=301,L]

</ifmodule>


本博需要對三個域名進行重定向,所以寫的比較多,關鍵代碼就是2句話


RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]

RewriteRule ^(.*)$ http://blog.xxx.net/$1 [R=301,L]


紅色的域名是需要被重定向的舊域名,綠色的是現在網站的域名。


方法2:使用PHP的重定向代碼

新建一個index.php文件,然后參考下面代碼按自己的重定向要求做簡單修改:

 


<?php

$the_host = $_SERVER['HTTP_HOST'];

$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';

switch ($the_host)

{

case "www.iflyhigher.tk":

case "iflyhigher.tk":

$location = "Location: http://xxx.net" . $request_uri;

break;

case "blog.iflyhigher.tk":

$location = "Location: http://blog.xxx.net" . $request_uri;

break;

case "www.moiya.tk":

case "moiya.tk":

$location = "Location: http://xxxx.net";

break;

default:

$location = "Location: http://xxx.net";

break;

}

header('HTTP/1.1 301 Moved Permanently');

header($location);

exit();

?>


如果只要對一個域名進行重定向,可以把代碼簡化成下面的形式:

 


<?php

$the_host = $_SERVER['HTTP_HOST'];//取得進入所輸入的域名

$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判斷后面的請求部分

if($the_host !== 'xxx.net')//xxx.net是我現在的域名

{

header('HTTP/1.1 301 Moved Permanently');//發出301頭部

header('Location: http://xxx.net'.$request_uri);//跳轉到我的新域名地址

exit();

}

?>


注意,最后的exit()函數是一定要寫的,我最初就沒有寫,結果只能重定向首頁,像http://www.yamwpn.tw/shop這樣的網頁,就無法進行重定向。

最后,關于重定向的一些細節

由于要對三個域名進行重定向,重定向前,我首先將這三個域名作為Addon Domain綁定到我的服務器上去,并讓這三個域名指向同一個文件夾,這樣,只要修改這一個文件夾中的.htaccess文件或者index.php文件就可以了。如果沒有.htaccess文件或者index.php文件,新建一個即可。


  • 全部評論(0)
上一篇:已是第一篇內容
下一篇:777,644,755等用戶權限說明
最新發布的資訊信息
【技術教程|CMS建站】解決DiscuzX3.1 X3.2”對不起,您安裝的不是正版應用,安裝程序無法繼續執行(2017-02-03 13:25)
【技術教程|服務器】apache+php完美解決301重定向的兩種方法(2017-01-02 14:09)
【技術教程|服務器】777,644,755等用戶權限說明(2017-01-02 12:31)
【技術教程|服務器】Linux/windows服務器操作系統設置777權限的步驟(2017-01-02 12:05)
【技術教程|服務器】IUSR和IIS_IUSRS和區別(2017-01-02 12:04)
【技術教程|服務器】Windows Server 2008 R2入門之用戶管理(2017-01-02 11:41)
【技術教程|CMS建站】登錄帝國后臺后,進行操作時候老跳出你還未登錄(2017-01-02 11:13)
【電商/科技|八卦休閑】待遇太差不干了!亞馬遜德國員工將罷工至平安夜(2016-12-28 15:06)
【電商/科技|IT業界】2016年十大火爆科技概念盤點(2016-12-28 15:05)
【電商/科技|IT業界】永輝退出聯華 阿里系能否再造三江“神話”?(2016-12-28 15:04)
網站首頁 | 關于我們 | 廣告合作 | 聯系我們 | 隱私條款 | 免責聲明
CopyRight 2014-2024 18源碼商城 | 鄂ICP備15017134號-4
舟山体彩飞鱼基本走势