php 实现301重定向跳转实例代码
本文主要介绍php 实现301重定向跳转,通过实例代码让大家更好的理解重定向的方法,有需要的小伙伴可以参考下
在php中301重定向实现方法很简单我们只要简单的利用header发送301状态代码,然后再用header进行跳转,效果与apache,iis,nginx都是一样的效果哦。
一:更推荐这种方法,因为它可以把http://www.jb51.net原来所有的url都转到http://jb51.net新的地址上
代码如下:
<?php
$the_host
=
$_SERVER
[
'HTTP_HOST'
];
$request_uri
= isset(
$_SERVER
[
'REQUEST_URI'
]) ?
$_SERVER
[
'REQUEST_URI'
] :
''
;
if
(
$the_host
==
'www.jb51.net'
)
{
header(
'HTTP/1.1 301 Moved Permanently'
);
}
?>
二:单页多站的Php301重定向代码,www.jb51.net和jb51.net则301到index.php上,jbzj.com则301到www.jbzj.com上,否则转到错误页
代码如下:
if
((
$HTTP_HOST
==
"www.jb51.net"
)
or
(
$HTTP_HOST
==
"jb51.net"
))
{
header(
"HTTP/1.1 301 Moved Permanently"
);
Header(
"Location: /index.php"
);
}
elseif
(
$HTTP_HOST
==
"jbzj.com"
)
{
header(
"HTTP/1.1 301 Moved Permanently"
);
Header(
"Location:<strong> </strong>www.jbzj.com"
);
}
else
{
Header(
"Location: /404.htm"
);
}
?>
附上其它跳转办法
代码如下:
//定义编码
header(
'Content-Type:text/html;charset=utf-8 '
);
//Atom
header(
'Content-type: application/atom+xml'
);
//CSS
header(
'Content-type: text/css'
);
//Javascript
header(
'Content-type: text/javascript'
);
//JPEG Image
header(
'Content-type: image/jpeg'
);
//JSON
header(
'Content-type: application/json'
);
//PDF
header(
'Content-type: application/pdf'
);
//RSS
header(
'Content-Type: application/rss+xml; charset=ISO-8859-1'
);
//Text (Plain)
header(
'Content-type: text/plain'
);
//XML
header(
'Content-type: text/xml'
);
// ok
header(
'HTTP/1.1 200 OK'
);
//设置一个404头:
header(
'HTTP/1.1 404 Not Found'
);
//设置地址被永久的重定向
header(
'HTTP/1.1 301 Moved Permanently'
);
//转到一个新地址
//文件延迟转向:
print
'You will be redirected in 10 seconds'
;
//当然,也可以使用html语法实现
// <meta http-equiv="refresh" content="10;http://www.example.org/ />
// override X-Powered-By: PHP:
header(
'X-Powered-By: PHP/4.4.0'
);
header(
'X-Powered-By: Brain/0.6b'
);
//文档语言
header(
'Content-language: en'
);
//告诉浏览器最后一次修改时间
$time
= time() - 60;
// or filemtime($fn), etc
header(
'Last-Modified: '
.
gmdate
(
'D, d M Y H:i:s'
,
$time
).
' GMT'
);
//告诉浏览器文档内容没有发生改变
header(
'HTTP/1.1 304 Not Modified'
);
//设置内容长度
header(
'Content-Length: 1234'
);
//设置为一个下载类型
header(
'Content-Type: application/octet-stream'
);
header(
'Content-Disposition: attachment; filename="example.zip"'
);
header(
'Content-Transfer-Encoding: binary'
);
// load the file to send:
readfile(
'example.zip'
);
// 对当前文档禁用缓存
header(
'Cache-Control: no-cache, no-store, max-age=0, must-revalidate'
);
header(
'Expires: Mon, 26 Jul 1997 05:00:00 GMT'
);
// Date in the past
header(
'Pragma: no-cache'
);
//设置内容类型:
header(
'Content-Type: text/html; charset=iso-8859-1'
);
header(
'Content-Type: text/html; charset=utf-8'
);
header(
'Content-Type: text/plain'
);
//纯文本格式
header(
'Content-Type: image/jpeg'
);
//JPG***
header(
'Content-Type: application/zip'
);
// ZIP文件
header(
'Content-Type: application/pdf'
);
// PDF文件
header(
'Content-Type: audio/mpeg'
);
// 音频文件
header(
'Content-Type: application/x-shockw**e-flash'
);
//Flash动画
//显示登陆对话框
header(
'HTTP/1.1 401 Unauthorized'
);
header(
'WWW-Authenticate: Basic realm="Top Secret"'
);
print
'Text that will be displayed if the user hits cancel or '
;
print
'enters wrong login data'
;
跳转要注意以下几点,有助于解决一些新手经常遇到的问题
1、location和“:”号间不能有空格,否则会出错。
2、在用header前不能有任何的输出。
3、header后的PHP代码还会被执行。
以上就是,对php 301重定向跳转的资料整理,希望能帮助php 开发的小伙伴们。
出处至:http://www.jb51.net/article/88785.htm