首页 > 编程知识 正文

php输出重定向,php 重定向跳转

时间:2023-12-29 20:31:56 阅读:330907 作者:SSOH

本文目录一览:

php使用curl访问的页面中,出现重定向时, 如何获取重定向后的内容

程序没问题,能得到网页内容并输出。

有可能是你的 xxx.php 没有重定向成功。

如果在Linux下,可以先用

wget

看看有没有输出想要的结果。

我用来测试的 xxx.php

?php

function redirect($url)

{

if(headers_sent()) {

return false;

}

if(substr($url, 0, 4) != 'http') {

$schema = $_SERVER['SERVER_PORT'] == '443' ? 'https' : 'http';

$host = strlen($_SERVER['HTTP_HOST']) ? $_SERVER['HTTP_HOST'] : $_SERVER['SERVER_NAME'];

$url = "$schema://$host$to";

}

header("HTTP/1.1 301 Moved Permanently");

header("Location: $url");

exit();

}

redirect('');

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网站建设怎么做301重定向设置

做网站优化,我们基本知道url标准化需要采用301重定向。重定向说直白点,就是通过方法将各种网络请求重新定个方向转到其它位置,也就是通常说的,网页跳转。那么如何设置和制作301重定向呢?下面列举几个比较常见的情况:

步骤/方法

第一种:对整个网站的多个页面设置301重定向方法

如果要对整个网站设置301重定向的话,建议大家还是单独建立一个301.php,文件名可以自己取。代码如下:

?php

$the_host = $_SERVER['HTTP_HOST']; //取得进入所输入的域名[网址:像]

$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的网址那么进行下面的301跳转

{

header('HTTP/1.1 301 Moved Permanently'); //发出301头部

header('Location:'.$the_url); //跳转到带www的网址

}

?

注 意一下:代码if($the_host !== '')中的“!==”是不完全等于的意思,也可以用“!=”不等于,这样,除了可以将siyuan-seo.com 跳转到带www的网址,还可以把所有绑定到这个空间的域名跳转的。

301.php文件写好后,用ftp软件上传到网站根目录下,一般就是web文件下。那么怎么调用呢?其实也很简单。

在需要设置301重定向的页面中调用301.php,代码:?php include("301.php"); //301重定向 ?将这个代码放到你所有网页的最前面,这样就做好了。如下图:

2

第二种:网站单个页面设置301重定向方法

如果仅仅是网站中某个单页面进行301重定向设置,其实很简单,只要在PHP页面的头部加上下面两行代码就可以了:

?php

Header("HTTP/1.1 301 Moved Permanently");

Header("Location: ");

?如下图:

其实,大多数情况下,我们一般是不需要设置301重定向的,用到的情况也是很少,大家知道怎么做就可以了。

当你发现自己的才华撑不起野心时,就请安静下来学习吧

PHP后台任务运行

在运行前 先要了解一下 什么是文件描述符。

什么是文件描述符?

文件描述符是一个简单的正整数,用以标明每一个被进程所打开的文件和socket。

最前面的三个文件描述符(0,1,2)分别与标准输入(stdin),标准输出(stdout)和标准错误(stderr)对应。

"21 file"和 " file 21"区别?

1.php test.php 21 file :错误输出到终端,标准输出被重定向到文件file。

2.php test.php file 21 :标准输出被重定向到文件file,然后错误输出也重定向到和标准输出一样,所以错误也输出到文件file。

nohup命令可以在用户退出终端后仍然执行程序,

“21 /dev/null”表示不显示标准输出和错误输出,

最后的表示推到后台执行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。