apache+php完美解決301重定向的兩種方法
更新時(shí)間:2011年06月08日 00:11:49 作者:
301重定向真是個(gè)好方法啊。前一篇文章Gevin也說(shuō)過(guò),本博客不幸被換域名了。域名一換,以前辛苦做博客的成果也就報(bào)廢了,網(wǎng)上的相關(guān)鏈接也打不開(kāi)了,搜索引擎的收錄也杯具了
幸好有301重定向能有效解決這樣的問(wèn)題。正如月光博客這篇文章中說(shuō)的,
301重定向可促進(jìn)搜索引擎優(yōu)化效果
從搜索引擎優(yōu)化角度出發(fā),301重定向是網(wǎng)址重定向最為可行的一種辦法。當(dāng)網(wǎng)站的域名發(fā)生變更后,搜索引擎只對(duì)新網(wǎng)址進(jìn)行索引,同時(shí)又會(huì)把舊地址下原有的外部鏈接如數(shù)轉(zhuǎn)移到新地址下,從而不會(huì)讓網(wǎng)站的排名因?yàn)榫W(wǎng)址變更而收到絲毫影響。同樣,在使用301永久性重定向命令讓多個(gè)域名指向網(wǎng)站主域時(shí),亦不會(huì)對(duì)網(wǎng)站的排名產(chǎn)生任何負(fù)面影響。
關(guān)于301重定向的更多內(nèi)容,大家不妨Google一下。本文只介紹實(shí)現(xiàn)方法啦!
301重定向的實(shí)現(xiàn),我以前也寫過(guò)一篇相關(guān)的文章,但這篇文章的解決方法比較簡(jiǎn)單,只能實(shí)現(xiàn)主頁(yè)的跳轉(zhuǎn),本文介紹的這兩種方法,可以完美實(shí)現(xiàn)301重定向。
方法1:修改.htaccess文件
代碼如下:
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://blog.jb51.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://jb51.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} moiya.tk$ [NC]
RewriteRule ^(.*)$ http://jb51.net/$1 [R=301,L]
</ifmodule>
本博需要對(duì)三個(gè)域名進(jìn)行重定向,所以寫的比較多,關(guān)鍵代碼就是2句話
RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://blog.jb51.net/$1 [R=301,L]
紅色的域名是需要被重定向的舊域名,綠色的是現(xiàn)在網(wǎng)站的域名。
方法2:使用PHP的重定向代碼
新建一個(gè)index.php文件,然后參考下面代碼按自己的重定向要求做簡(jiǎn)單修改:
<?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://jb51.net" . $request_uri;
break;
case "blog.iflyhigher.tk":
$location = "Location: http://blog.jb51.net" . $request_uri;
break;
case "www.moiya.tk":
case "moiya.tk":
$location = "Location: http://jb51.net";
break;
default:
$location = "Location: http://jb51.net";
break;
}
header('HTTP/1.1 301 Moved Permanently');
header($location);
exit();
?>
如果只要對(duì)一個(gè)域名進(jìn)行重定向,可以把代碼簡(jiǎn)化成下面的形式:
<?php
$the_host = $_SERVER['HTTP_HOST'];//取得進(jìn)入所輸入的域名
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判斷后面的請(qǐng)求部分
if($the_host !== 'jb51.net')//jb51.net是我現(xiàn)在的域名
{
header('HTTP/1.1 301 Moved Permanently');//發(fā)出301頭部
header('Location: http://jb51.net'.$request_uri);//跳轉(zhuǎn)到我的新域名地址
exit();
}
?>
注意,最后的exit()函數(shù)是一定要寫的,我最初就沒(méi)有寫,結(jié)果只能重定向首頁(yè),像http://blog.iflyhigher.tk/guestbook這樣的網(wǎng)頁(yè),就無(wú)法進(jìn)行重定向。
最后,關(guān)于重定向的一些細(xì)節(jié)
由于要對(duì)三個(gè)域名進(jìn)行重定向,重定向前,我首先將這三個(gè)域名作為Addon Domain綁定到我的服務(wù)器上去,并讓這三個(gè)域名指向同一個(gè)文件夾,這樣,只要修改這一個(gè)文件夾中的.htaccess文件或者index.php文件就可以了。如果沒(méi)有.htaccess文件或者index.php文件,新建一個(gè)即可。
希望本文對(duì)需要進(jìn)行301重定向的朋友有幫助。
轉(zhuǎn)載請(qǐng)表明出處: Gevin的博客
301重定向可促進(jìn)搜索引擎優(yōu)化效果
從搜索引擎優(yōu)化角度出發(fā),301重定向是網(wǎng)址重定向最為可行的一種辦法。當(dāng)網(wǎng)站的域名發(fā)生變更后,搜索引擎只對(duì)新網(wǎng)址進(jìn)行索引,同時(shí)又會(huì)把舊地址下原有的外部鏈接如數(shù)轉(zhuǎn)移到新地址下,從而不會(huì)讓網(wǎng)站的排名因?yàn)榫W(wǎng)址變更而收到絲毫影響。同樣,在使用301永久性重定向命令讓多個(gè)域名指向網(wǎng)站主域時(shí),亦不會(huì)對(duì)網(wǎng)站的排名產(chǎn)生任何負(fù)面影響。
關(guān)于301重定向的更多內(nèi)容,大家不妨Google一下。本文只介紹實(shí)現(xiàn)方法啦!
301重定向的實(shí)現(xiàn),我以前也寫過(guò)一篇相關(guān)的文章,但這篇文章的解決方法比較簡(jiǎn)單,只能實(shí)現(xiàn)主頁(yè)的跳轉(zhuǎn),本文介紹的這兩種方法,可以完美實(shí)現(xiàn)301重定向。
方法1:修改.htaccess文件
代碼如下:
復(fù)制代碼 代碼如下:
<ifmodule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://blog.jb51.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://jb51.net/$1 [R=301,L]
RewriteCond %{HTTP_HOST} moiya.tk$ [NC]
RewriteRule ^(.*)$ http://jb51.net/$1 [R=301,L]
</ifmodule>
本博需要對(duì)三個(gè)域名進(jìn)行重定向,所以寫的比較多,關(guān)鍵代碼就是2句話
復(fù)制代碼 代碼如下:
RewriteCond %{HTTP_HOST} blog.iflyhigher.tk$ [NC]
RewriteRule ^(.*)$ http://blog.jb51.net/$1 [R=301,L]
紅色的域名是需要被重定向的舊域名,綠色的是現(xiàn)在網(wǎng)站的域名。
方法2:使用PHP的重定向代碼
新建一個(gè)index.php文件,然后參考下面代碼按自己的重定向要求做簡(jiǎn)單修改:
復(fù)制代碼 代碼如下:
<?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://jb51.net" . $request_uri;
break;
case "blog.iflyhigher.tk":
$location = "Location: http://blog.jb51.net" . $request_uri;
break;
case "www.moiya.tk":
case "moiya.tk":
$location = "Location: http://jb51.net";
break;
default:
$location = "Location: http://jb51.net";
break;
}
header('HTTP/1.1 301 Moved Permanently');
header($location);
exit();
?>
如果只要對(duì)一個(gè)域名進(jìn)行重定向,可以把代碼簡(jiǎn)化成下面的形式:
復(fù)制代碼 代碼如下:
<?php
$the_host = $_SERVER['HTTP_HOST'];//取得進(jìn)入所輸入的域名
$request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';//判斷后面的請(qǐng)求部分
if($the_host !== 'jb51.net')//jb51.net是我現(xiàn)在的域名
{
header('HTTP/1.1 301 Moved Permanently');//發(fā)出301頭部
header('Location: http://jb51.net'.$request_uri);//跳轉(zhuǎn)到我的新域名地址
exit();
}
?>
注意,最后的exit()函數(shù)是一定要寫的,我最初就沒(méi)有寫,結(jié)果只能重定向首頁(yè),像http://blog.iflyhigher.tk/guestbook這樣的網(wǎng)頁(yè),就無(wú)法進(jìn)行重定向。
最后,關(guān)于重定向的一些細(xì)節(jié)
由于要對(duì)三個(gè)域名進(jìn)行重定向,重定向前,我首先將這三個(gè)域名作為Addon Domain綁定到我的服務(wù)器上去,并讓這三個(gè)域名指向同一個(gè)文件夾,這樣,只要修改這一個(gè)文件夾中的.htaccess文件或者index.php文件就可以了。如果沒(méi)有.htaccess文件或者index.php文件,新建一個(gè)即可。
希望本文對(duì)需要進(jìn)行301重定向的朋友有幫助。
轉(zhuǎn)載請(qǐng)表明出處: Gevin的博客
您可能感興趣的文章:
- Apache實(shí)現(xiàn)禁止中文瀏覽器訪問(wèn)與301重定向的方法
- apache將不帶www域名301重定向到帶www的域名的配置方法
- windows中apache 301頁(yè)面跳轉(zhuǎn)實(shí)現(xiàn)方法
- Apache Rewrite實(shí)現(xiàn)URL的301跳轉(zhuǎn)和域名跳轉(zhuǎn)
- 301重定向代碼合集(iis,asp,php,asp.net,apache)
- Apache中301重定向的配置代碼
- 完美解決IIS和APACHE的301重定向(帶參數(shù))
- 解析網(wǎng)站301重定向的實(shí)現(xiàn)方法,包括iis,apache,asp,php的方法
- Apache的Rewrite設(shè)置多域名301跳轉(zhuǎn)到主域名的方法
相關(guān)文章
PHP實(shí)現(xiàn)機(jī)器學(xué)習(xí)之樸素貝葉斯算法詳解
這篇文章主要介紹了PHP實(shí)現(xiàn)機(jī)器學(xué)習(xí)之樸素貝葉斯算法,結(jié)合實(shí)例形式詳細(xì)分析了樸素貝葉斯算法的概念、原理及php實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-12-12
php開(kāi)發(fā)過(guò)程中關(guān)于繼承的使用方法分享
通常需要這樣一些類,這些類與其它現(xiàn)有的類擁有相同變量和函數(shù)。實(shí)際上,定義一個(gè)通用類用于所有的項(xiàng)目,并且不斷豐富這個(gè)類以適應(yīng)每個(gè)具體項(xiàng)目將是一個(gè)不 錯(cuò)的練習(xí)。2011-06-06
php實(shí)現(xiàn)jQuery擴(kuò)展函數(shù)
今天在運(yùn)行書上的jQuery代碼時(shí),不知道是書上弄錯(cuò)了,還是我的jQuery版本的問(wèn)題,例子上面有一個(gè)jQuery函數(shù)不存在。2009-10-10
PHP單例模式應(yīng)用示例【多次連接數(shù)據(jù)庫(kù)只實(shí)例化一次】
這篇文章主要介紹了PHP單例模式應(yīng)用,結(jié)合實(shí)例形式分析了php基于單例模式實(shí)現(xiàn)多次連接數(shù)據(jù)庫(kù)只實(shí)例化一次的相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2018-12-12
PHP取整數(shù)函數(shù)常用的四種方法小結(jié)
PHP取整數(shù)函數(shù)常用的四種方法,下面收集了四個(gè)函數(shù);經(jīng)常用到取整的函數(shù),今天小小的總結(jié)一下!其實(shí)很簡(jiǎn)單,就是幾個(gè)函數(shù)而已~~主要是:ceil,floor,round,intval2012-07-07
PHP JSON出錯(cuò):Cannot use object of type stdClass as array解決方法
這篇文章主要介紹了PHP JSON出錯(cuò):Cannot use object of type stdClass as array解決方法,需要的朋友可以參考下2014-08-08
PHP利用ueditor實(shí)現(xiàn)上傳圖片添加水印
在上傳圖片時(shí),有時(shí)需要添加水印。如果每個(gè)都用PS添加的話,會(huì)有些麻煩。本文將為大家介紹PHP如何利用ueditor實(shí)現(xiàn)上傳圖片添加水印,感興趣的可以了解一下2022-07-07

