已閱讀
關于301的跳轉代碼(PHP篇)
OK,我們接著上次說的301重定向跳轉代碼,下面分享的關于PHP程序的301跳轉。PHP程序的使用環境有好幾種,常用的有,IIS,Apache,nginx。我們就針對這三種種情況來分享301重定向代碼。
一、IIS環境下的301重定向
1、首頁跳轉,將下面代碼放于<head></head>之間
<?php
Header( “HTTP/1.1 301 Moved Permanently”) ;
Header( “Location: www.thehandsomediaries.com” );
?>
2、全站跳轉,將下面代碼放于公共文件<head></head>之間
<?php
$Ysb_Host = $_SERVER['HTTP_HOST'];//取得進入所輸入的域名
$Ysb_Url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ”;//判斷地址后面部分
$Ysb_SelfUrl=$Ysb_Host.$Ysb_Url;
if((!strstr($Ysb_Host, ‘www.’)) || ($Ysb_SelfUrl==($Ysb_Host.”/index.php”)))//這是我要以前的域名地址
{
if(!strstr($Ysb_Host, ‘www.’)){
$Ysb_Domain=’http://www.’.$Ysb_Host.$Ysb_Url;
}else{
$Ysb_Domain=’http://’.$Ysb_Host.’/';
}
header(‘HTTP/1.1 301 Moved Permanently’);//發出301頭部
header(‘Location: ‘.$Ysb_Domain);//跳轉到新域名地址
die();
}
?>
二、Apache下的.htaccess跳轉(需要開啟mod_rewrite)
在網站根目錄新建.htaccess文件。
1)將不帶WWW的域名轉向到帶WWW的域名下
Options+FollowSymLinks
RewriteEngineon
RewriteCond%{HTTP_HOST}^lesishu.cn[NC]
RewriteRule^(.*)$http://www.thehandsomediaries.com/$1[L,R=301]
2)重定向到新域名
Options+FollowSymLinks
RewriteEngineon
RewriteRule^(.*)$http://www.thehandsomediaries.com/$1[L,R=301]
3)使用正則進行301轉向,實現偽靜態
Options+FollowSymLinks
RewriteEngineon
RewriteRule^news-(.+)\.html$news.php?id=$1
將news.php?id=123這樣的地址轉向到news-123.html
注意:Apache在win和linux操作系統下都可以使用,在win下按照上述的方法,在linux,可以參照第三種方法,即nginx下的vhosts.conf跳轉使一樣的。
三、nginx下的vhosts.conf跳轉
vhosts.conf中配置為:
ServerNamewww.ahwebs.com
DocumentRoot/home/lesishu
ServerNamelesishu.cn
RedirectMatchpermanent^/(.*)http://www.ahwebs.com/$1
相關閱讀: