Home > php教程 > php手册 > Php实现301重定向跳转代码

Php实现301重定向跳转代码

WBOY
Release: 2016-05-25 16:49:54
Original
1969 people have browsed it

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

一:更推荐这种方法,因为它可以把www.phprm.com原来所有的url都转到phprm.com新的地址上,代码如下:

<?php
$the_host = $_SERVER[&#39;HTTP_HOST&#39;];
$request_uri = isset($_SERVER[&#39;REQUEST_URI&#39;]) ? $_SERVER[&#39;REQUEST_URI&#39;] : &#39;&#39;;
if ($the_host == &#39;www.phprm.com&#39;) {
    header(&#39;HTTP/1.1 301 Moved Permanently&#39;);
    header(&#39;Location: http://phprm.com&#39; . $request_uri); //
    
}
?>
Copy after login

二:单页多站的Php301重定向代码,www.phprm.com和phprm.com则301到index.php上,www.phprm.com则301到phprm.com上,否则转到错误页,代码如下:

<?php
if (($HTTP_HOST == "www.phprm.com") or ($HTTP_HOST == "phprm.com")) {
    header("HTTP/1.1 301 Moved Permanently");
    Header("Location: /index.php");
} elseif ($HTTP_HOST == "www.phprm.com") {
    header("HTTP/1.1 301 Moved Permanently");
    Header("Location: http://phprm.com");
} else {
    Header("Location: /404.htm");
}
?>
Copy after login

附上其它跳转办法,代码如下:

<?php
//定义编码
header(&#39;Content-Type:text/html;charset=utf-8 &#39;);
//Atom
header(&#39;Content-type: application/atom+xml&#39;);
//CSS
header(&#39;Content-type: text/css&#39;);
//Javascript
header(&#39;Content-type: text/javascript&#39;);
//JPEG Image
header(&#39;Content-type: image/jpeg&#39;);
//JSON
header(&#39;Content-type: application/json&#39;);
//PDF
header(&#39;Content-type: application/pdf&#39;);
//RSS
header(&#39;Content-Type: application/rss+xml; charset=ISO-8859-1&#39;);
//Text (Plain)
header(&#39;Content-type: text/plain&#39;);
//XML
header(&#39;Content-type: text/xml&#39;);
// ok
header(&#39;HTTP/1.1 200 OK&#39;);
//设置一个404头:
header(&#39;HTTP/1.1 404 Not Found&#39;);
//设置地址被永久的重定向
header(&#39;HTTP/1.1 301 Moved Permanently&#39;);
//转到一个新地址
header(&#39;Location: http://www.example.org/&#39;);
//文件延迟转向:
header(&#39;Refresh: 10; url=http://www.example.org/&#39;);
print &#39;You will be redirected in 10 seconds&#39;;
//当然,也可以使用html语法实现
// <meta http-equiv="refresh" content="10;http://www.example.org/ />
// override X-Powered-By: PHP:
header(&#39;X-Powered-By: PHP/4.4.0&#39;);
header(&#39;X-Powered-By: Brain/0.6b&#39;);
//文档语言
header(&#39;Content-language: en&#39;);
//告诉浏览器最后一次修改时间
$time = time() - 60; // or filemtime($fn), etc
header(&#39;Last-Modified: &#39; . gmdate(&#39;D, d M Y H:i:s&#39;, $time) . &#39; GMT&#39;);
//告诉浏览器文档内容没有发生改变
header(&#39;HTTP/1.1 304 Not Modified&#39;);
//设置内容长度
header(&#39;Content-Length: 1234&#39;);
//设置为一个下载类型
header(&#39;Content-Type: application/octet-stream&#39;);
header(&#39;Content-Disposition: attachment; filename="example.zip"&#39;);
header(&#39;Content-Transfer-Encoding: binary&#39;);
// load the file to send:
readfile(&#39;example.zip&#39;);
// 对当前文档禁用缓存
header(&#39;Cache-Control: no-cache, no-store, max-age=0, must-revalidate&#39;);
header(&#39;Expires: Mon, 26 Jul 1997 05:00:00 GMT&#39;); // Date in the past
header(&#39;Pragma: no-cache&#39;);
//设置内容类型:
header(&#39;Content-Type: text/html; charset=iso-8859-1&#39;);
header(&#39;Content-Type: text/html; charset=utf-8&#39;);
header(&#39;Content-Type: text/plain&#39;); //纯文本格式
header(&#39;Content-Type: image/jpeg&#39;); //JPG***
header(&#39;Content-Type: application/zip&#39;); // ZIP文件
header(&#39;Content-Type: application/pdf&#39;); // PDF文件
header(&#39;Content-Type: audio/mpeg&#39;); // 音频文件
header(&#39;Content-Type: application/x-shockw**e-flash&#39;); //Flash动画
//显示登陆对话框
header(&#39;HTTP/1.1 401 Unauthorized&#39;);
header(&#39;WWW-Authenticate: Basic realm="Top Secret"&#39;);
print &#39;Text that will be displayed if the user hits cancel or &#39;;
print &#39;enters wrong login data&#39;;
?>
Copy after login

跳转要注意以下几点,有助于解决一些新手经常遇到的问题

1、location和":"号间不能有空格,否则会出错。

2、在用header前不能有任何的输出。

3、header后的PHP代码还会被执行。

文章地址:

转载随意^^请带上本文地址!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template