使用PHP程序header location 进行跳转的注意的一个细节!

Header Location重定向机制解析与应用 是HTTP协议中用于重定向用户浏览器请求的一个重要机制。当服务器需要客户端浏览器跳转到另一个页面时,会在HTTP响应头中使用Location字段指定新的URL,浏览器接收到这个响应后会自动跳转到新的URL页面。今天我们将深入探讨HTTP中的Header Location重定向机制,以及在Java中如何应用这一机制来实现页面跳转和请求重定向。通过本文的介绍,我们详细解析了Header Location重定向机制在HTTP协议中的应用和Java中的实现方法。 阅读详情

众所周知,PHP网站跳转有三种方法:JS、HTML META Refresh、PHP header("location: $url")。但是这里有一个非常小的细节,很容易导致出错。

有一次制作一个跳转程序,结果忽略了这一点,导致跳转其实都是没有成功。


程序全部源码如下,程序地址:http://www.***.com/go.php

<?php

error_reporting(7);
$url = urldecode( trim($_REQUEST['url']));
if($url)
{
    header("Location: $url");

} else {

    exit('Error Input,<a href="http://www.***.com/?f=go.php">go back</a>');
}

当访问地址为:http://www.***.com/go.php?url=http%3A%2F%2Fwww.***..com%2F 的时候,firefox浏览器是正常的。后来把这个跳转程序复制到公司的另外一个网站,让QQ上的一些好友测试,结果很多人都说打不开:IE内核的浏览器直接提示无法访问或者找不到,chrome有时候会提示被重置或找不到,使用firefox测试也偶偶会提示无法找到,但多刷新一次才显示正常。


仔细检查代码,是没有问题的。况且firefox是可以跳转,后想到了以往阅读到的一点就是:IE浏览器如果输出的内容字节太小(小于512字节),那么就会被忽略。然后将源码由header location跳转修改为 js html才所有浏览器都测试通过,原先偶偶出现firefox点击提示找不到xxx服务器也没有再出现过,现go.php全部源码:

<?php

error_reporting(7);
function gheader($url)
{
echo '<html><head><meta http-equiv="Content-Language" content="zh-CN"><meta HTTP-EQUIV="Content-Type" CONTENT="text/html;charset=gb2312"><meta http-equiv="refresh"
content="0;url='.$url.'"><title>loading ... </title></head><body><div style="display:none">
<script type="text/javascript">var cnzz_protocol = (("https:" == document.location.protocol) ? " https://" : " http://");document.write(unescape("%3Cspan id=\'cnzz_stat_icon_5696423\'%3E%3C/span%3E%3Cscript src=\'" + cnzz_protocol + "s9.cnzz.com/stat.php%3Fid%3D5696423%26show%3Dpic1\' type=\'text/javascript\'%3E%3C/script%3E"));</script></div>
<script>window.location="'.$url.'";</script></body></html>';
exit();
}

$url = urldecode( trim($_REQUEST['url']));
if($url)
{
    gheader($url);

} else {

    exit('Error Input,<a href="http://www.***.com/?f=go.php">go back</a>');
}

对于PHP跳转,我认为最好的方法就是用JS+HTML META。HTML META可以保证访客在禁用JS的情况下可以照样跳转

如果您有更好的方法,欢迎回帖或发送邮件给我,我的邮箱 coconets@163.com。


COMSOL金属氢化物-放氢过程 "层流"的出口设置压降函数,解决“找不到一致的初始值”问题,主要是一开始设置出口为1atm的话,压力场过渡太剧烈,不好找到初始解,要么就先算个稳态流场,这种也能求解。注:P0是根据实测PCT的插值曲线(函数名称为:p_iso)得到的,根据初始质量储氢量wtw0,和初始温度条件T0,然后根据函数p_iso(wtw0)*exp(-deltHd/R_const*(1/T0-1/303.15[K]))求解获得。若"初始步长"选择框不勾上,前面0~5s内的求解容易发散,然后求解失败。2、设置"达西定律"的。 阅读详情

相关推荐

CS5212芯片实战:手把手教你设计DP转VGA转换电路(附完整原理图)

本文详细介绍了CS5212芯片在DP转VGA转换电路设计中的实战应用,包括芯片架构解析、核心电路设计要点、PCB布局与电磁兼容设计、调试技巧及进阶应用开发。通过完整的原理图和实用设计指南,帮助工程师快速掌握高可靠转换器的设计方法,特别适合需要国产化替代方案的场景。

weixin_30576827的博客 362

php header location,PHP跳转Header(“location:”)的注意事项

header(“Location: “) 作为php的转向语句 ,可以使当前页面跳转到其他页面。在使用中需要注意:1、用法例:header(“Location:http://www.yanfei.info/ ”)2.header前应没有任何输出。3.如果之前有输出:(1)会出现类似如下报错:Warning: Cannot modify header information – headers ...

weixin_39624873的博客 3415

proe入门基础教程完整实用教案.pptx

proe入门基础教程完整实用教案.pptx

php header location,PHP header常用URL地址跳转的几种方法

php中URL跳转不管那种做法都离不开header函数,下面我就给各位整理一些常用的URL跳转实现程序与方式,有需要的朋友可参考一下。1.header()函数header()函数是PHP中进行页面跳转的一种十分简单的方法。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。header()函数的定义如下:void header (string string [,boo...

weixin_33754535的博客 4720

http响应状态码(Header常见属性 — Location属性)

http响应状态码,着重介绍3**(Header常见属性 — Location属性)

challenglistic的博客 1万+

PHP跳转失败,header location无效

PHP跳转失败,header location无效 解决方法 逐个检查: 0)location和“:”号间不能有空格 1)header('Location:'.$url); 前面不能有任何输出,包括各种echo,和在屏幕上的错误提醒,还有:include文件的各种输出 2)header后的PHP代码还会被执行,所以需要在header后面exit一下 3)检查.htaccess文...

Rudon滨海渔村的博客 1万+

PHP Header用于页面跳转要留心及PHP 页面跳转的三种方式

PHP Header用于页面跳转要留心 的多个 问题总结 在PHP中用header("location:test.php")实行 跳转要留心 以下几点,有助于处理 一些新手经常遇到的问题 1、location和“:”号间不能有空格,否则会出错。 2、在用header前不能有任何的输出。 3、header后的PHP代码还会被执行。 下面是和asp中重定向response.redirect的比较: 例1: response.redirect "../test.asp" header("location:../

tongluren381的博客 1824

php header带参数跳转,几种PHP header常用URL地址跳转方法

PHPheader函数是程序员必定会使用到的函数,那么这篇文章继续为大家讲解PHP header常用URL地址跳转的几种方法。在php中URL跳转不管那种做法都离不开header函数,下面我就给各位整理一些常用的URL跳转实现程序注意,有需要的朋友可参考...在PHP中URL跳转不管那种做法都离不开header函数,下面我就给各位整理一些常用的URL跳转实现程序注意,有需要的朋友可参考一下。P...

weixin_29083649的博客 3502

php内部跳转url,PHP header常用URL地址跳转的几种方法

php中URL跳转不管这种做法都离不开header函数,下面我就给大伙整理一些常见的URL跳转实现程序与方法,有必须的同学可参考一下。1.header()函数header()函数是PHP中进行页面跳转的一种十分简洁的方式。header()函数的主要功能是将HTTP协议标头(header)输出到浏览器。header()函数的定义如下:void header (string string [,boo...

weixin_35710893的博客 945

javascript页面跳转php页面跳转

【javascript页面跳转】 第一种: window.location.href="login.jsp?backurl=\"+window.location.href; 1.在原来的窗体中直接跳转用 window.location.href="你所要跳转的页面"; 2、在新窗体中打开页面用: window.open('你所要跳转的页面'); 第二种:

rongwenbin的专栏 1517

location跳转header跳转的区别

1:header("location:url") 跳转之前不能有任何输出,如果想在header之前有输出,则要修改php.ini文件。具体 output_handler =mb_output_handler 或 output_handler =on 2:header()跳转之后必须有exit;结束,否则将继续执行下面的程序。   标准的使用方法:   ob_start();   if(so...

weixin_30756499的博客 1166

php header失效,PHP利用header跳转失效的解决方法,phpheader跳转失效_PHP教程

PHP利用header跳转失效的解决方法,phpheader跳转失效本文实例讲述了PHP利用header跳转失效的解决方法,分享给大家供大家参考。具体方法分析如下:一、问题:今天header(“Location: $url”),以往跳转总是可以的,今天却不动,只是输出结果,以往自己要确认检查,$url的值获取的是否正确,所以在前面加了echo $url;来调试用,结果就导致了header函数的无效...

weixin_32019909的博客 696

使用header()函数需要注意的问题

很多人写程序时,用 header(location) 进行跳转往往不记得写 exit() 语句,事实上这种做法是存在严重风险的。从浏览器上看,使用 header(location) 就跳转到另一个页面了,但事实上,php却仍然会执行后台的代码的,假如后面的代码有不安全逻辑的,那就直接无视开发者设定的条件,继续把后面的东西给执行了。如:if(true){header('location:http:/

兄弟连_战地日记 973

PHP利用header跳转失效的解决方法

本文实例讲述了PHP利用header跳转失效的解决方法,分享给大家供大家参考。具体方法分析如下: 一、问题: 今天header(\"Location: $url\"),以往跳转总是可以的,今天却不动,只是输出结果,以往自己要确认检查,$url的值获取的是否正确,所以在前面加了echo $url;来调试用,结果就导致了header函数的无效. 二、解决方法: 在PHP中用header("locat...

fntcw的博客 366

PHP里的header location跳转竟暗藏啥杀机?你知道吗!

今天咱们聊聊PHP里那个看似简单实则暗藏杀机的header location跳转。这东西就像你追女神时发的微信定位,发对了能约到咖啡馆,发错了直接进黑名单。先来个标准姿势热热身:phpheader(Location: https://www.example.com);exit;看到没?

ZLNuTPTW的博客 663

PHPheader(“location:url地址“),跳转,失败

解决方法: 逐个检查: 1、location和“:”号间不能有空格 2、header('Location:'.$url); 前面不能有任何输出,包括各种echo,和在屏幕上的错误提醒,还有:include文件的各种输出 3、header后的PHP代码还会被执行,所以需要在header后面exit一下 4、检查.htaccess文件的重置与跳转,不要冲突了 ...

zxp_smile的博客 1639

php header 的7种用法

header 的7种用法 1. 跳转页面 header('Location:'.$url); //Location和":"之间无空格。 2. 声明content-type header('content-type:text/html;charset=utf-8'); 3. 返回response状态码 header('HTTP/1.1 404 Not Found'); 4. 在某个时间后执行跳转 header('Refresh: 10; url=http://www.baidu.com.

sunsineq的专栏 455

header location php,header location页面跳转失败的原因详解

http头信息头信息的作用很多,最主要的有下面几个:1、跳转当浏览器接受到头信息中的 Location: xxxx 后,就会自动跳转到 xxxx 指向的URL地址,这点有点类似用 js 写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。例:header("Location: http://www.php.cn/");2、指定网页的内容同样一个XML文件,如果头信息中指定:C...

weixin_36332616的博客 917

phpheader()函数用法总结

函数header作用:页面跳转 http头信息 头信息的作用很多,最主要的有下面几个: 1、跳转 当浏览器接受到头信息中的 Location: xxxx 后,就会自动跳转到 xxxx 指向的URL地址,这点有点类似用 js 写跳转。但是这个跳转只有浏览器知道,不管体内容里有没有东西,用户都看不到。 例:header("Location: ...

weixin_33739523的博客 362

PHPheader()函数分析

本文对PHPheader()函数进行了分析和讲解,对常用的header头进行了说明。PHPheader()函数是控制HTTP响应头的关键工具,用于设置重定向、内容类型、缓存策略和状态码等,必须在任何输出前调用以避免协议冲突,广泛应用于页面跳转、文件下载、API响应和跨域配置等场景,是Web开发中不可或缺的基础功能。

长城2024的博客 1413

关于PHPHeader("Location:;")重定向

大家都知道该重定向在我们的程序使用的地方非常多, 这里只需要一句代码,如下: Header("Location:/monitor.php?action=account"); 便可以重定向到我们想要的action. 但是值得注意的是,如果使用不当很容易造成BUG(当然我这里是给新手们介绍,有经验的程序员可能早已经知道了,请绕道,勿喷,谢谢), 请看如下代码: Header("Lo...

zhanqixuan22的博客 708
上一篇: PHP linux服务器报错 PHP Warning: PHP Startup: Unable to load dynamic library '/usr/local/lib/php/的解决方法!
下一篇: ECSHOP account_log,pay_log,user_account 三个表的用途与区别
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值