php 实现301重定向跳转实例代码
author:一佰互联 2019-04-27   click:209

在php中301重定向实现方法很简单我们只要简单的利用header发送301状态代码,然后再用header进行跳转,效果与apache,iis,nginx都是一样的效果哦。

一:更推荐这种方法,因为它可以把//www.yinxi.net原来所有的url都转到http://jb51.net新的地址上

 代码如下

<?php
$the_host = $_SERVER["HTTP_HOST"];
$request_uri = isset($_SERVER["REQUEST_URI"]) ? $_SERVER["REQUEST_URI"] : "";
if($the_host == "www.yinxi.net")
{
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://jb51.net".$request_uri);//
}
?>

 二:单页多站的Php301重定向代码,www.yinxi.netjb51.net则301到index.php上,jbzj.com则301到www.jbzj.com上,否则转到错误页

代码如下

if(($HTTP_HOST=="www.yinxi.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: 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");
//转到一个新地址
header("Location: http://www.example.org/");
//文件延迟转向:
header("Refresh: 10; url=http://www.example.org/");
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 开发的同学。