‘壹’ php网站建设怎么做301重定向设置
做网站优化,我们基本知道url标准化需要采用301重定向。重定向说直白点,就是通过方法将各种网络请求重新定个方向转到其它位置,也就是通常说的,网页跳转。那么如何设置和制作301重定向呢?下面列举几个比较常见的情况:
步骤/方法
第一种:对整个网站的多个页面设置301重定向方法
如果要对整个网站设置301重定向的话,建议大家还是单独建立一个301.php,文件名可以自己取。代码如下:
<?php
$the_host = $_SERVER['HTTP_HOST']; //取得进入所输入的域名[网址:像www.siyuan-seo.com]
$the_url = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; //判断地址后面部分
$the_url = strtolower($the_url); //将英文字母转成小写
if($the_url=="/index.php") //判断是不是首页
{
$the_url=""; //如果是首页,赋值为空
}
if($the_host !== 'www.icoa.cn')//如果域名不是带www的网址那么进行下面的301跳转
{
header('HTTP/1.1 301 Moved Permanently'); //发出301头部
header('Location:http://www.siyuan-seo.com'.$the_url); //跳转到带www的网址
}
?>
注 意一下:代码if($the_host !== 'www.siyuan-seo.com')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,除了可以将siyuan-seo.com 跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转的www.siyuan-seo.com。
301.php文件写好后,用ftp软件上传到网站根目录下,一般就是web文件下。那么怎么调用呢?其实也很简单。
在需要设置301重定向的页面中调用301.php,代码:<?php include("301.php"); //301重定向 ?>将这个代码放到你所有网页的最前面,这样就做好了。如下图:
当你发现自己的才华撑不起野心时,就请安静下来学习吧
‘贰’ php 重定向问题
1.有可能是在<?php 标签前面有多余的空格,或者是html标签。
2。有可能是在header()前面你执行了其它的 php函数,比如 echo ,print等向终端输出过数据。。
3。你的这个文件是不能被包含到其它php文件中的。。。。原因如前两点
‘叁’ PHP如何使404页面重定向
最近在改一些东西,包括Discuz论坛,在处理Discuzde修改时特别是重新写了一个404de页面,让用户访问不存在de页面时去访问这个404页面。但是遇到了一个很奇怪de问题,即无法重定向到这个页面。
最初操作:
1、把apache中de配置文件里 加入代码:ErrorDocument 404 /404.php
2、在404页面de代码里加上<?php header(”HTTP/1.0 404 Not Found” ?> 。这个方法是向客户端发送一个自然deHTTP头。这个方法要在没you向客户端发送任何信息之前使用,因此加在404.phpde文件头最好。
经过对配置文件和DZ论坛代码de查看,发现原因:rewrite规则问题,即我做伪静态de处理,导致第二种地址规则you效,于是已经pass过了服务器层,apachede404定义不再起作用,所以在读取数据dephp文件会被执行。针对这种情况应该做处理。
处理:
1、找到被执行de文件:如viewthread.php;
2、在查询数据后,加上对数据de判断,如果为空,则填写重定向代码;
3、代码:
if(如果没you任何结果)
{
//以前是仅仅显示“该帖子已经不存在”de提示,现在是:
require(’/404.php’);
@header(’HTTP/1.1 404 Not Found’);
@header(’Status: 404 Not Found’);
exit;
}
结果:以上问题解决,可以以404de状态重定向到我自定义de404页面。
‘肆’ PHP如何重定向url
<IfMole mod_rewrite.c>
# RewriteEngine 打开URL重写模块
RewriteEngine on
#RewriteBase /
RewriteRule ^aid_([0-9]+)\.html$ index.php?aid=$1
</IfMole>
建立一个.htaccess文件,弄你网站根目录去。
‘伍’ PHP重定向页面的几个方法
方法一:header("Location: viewNote.php");
方法二:echo "<scrīpt>window.location ="$PHP_SELF";</scrīpt>";
方法三:echo "<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php">";
注意:方法一中,<?php header("Location: viewNote.php"); ?> 前面不能输出任何内容包括空格
‘陆’ PHP如何重定向网站首页地址
一、用HTTP头信息
也就是用PHP的HEADER函数。PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等。
用HTTP头信息进行PHP重定向到另外一个页面的方法如下:
<?php $url = "www..com"; if (!empty($url)) { Header("HTTP/1.1 303 See Other"); //这条语句可以不写 Header("Location: $url"); } ?> 注意一下,"Localtion:"后面有一个空格。
二、用HTML标记PHP重定向
用HTML标记,就是用META的REFRESH标记,举例如下:
<?php if (!empty($url)) { echo "<META HTTP-EQUIV=\"Refresh\" CONTENT=\"0;URL=$url\">"; } ?> 三、用脚本来实现PHP重定向
举例如下:
<? if (isset($url)) { echo "<SCRIPT LANGUAGE="JavaScript">"; echo "location.href='$url'"; echo "</SCRIPT>"; } ?>