header location主要用于实现跳转或指定网页的内容,当浏览器接受到头信息中的 Location: xxxx 后,执行PHP将直接跳到指向的URL地址。这有点类似用 js 写跳转,但是这个跳转只有浏览器知道,无论内容里有没有东西,用户都看不到,那么header location如何用?
一、header location 的具体用法
header('Location: https://www.lxwl520.com/');
其作用是:当执行这句脚本时,会直接跳转到对应的网址,即Location: 后面的网址。
二、让浏览器显示header头部的location
使用location对象可以通过很多方式来改变浏览器的位置。首先,也是最常用的方式,就是使用assign()方法并为其传递一个URL,如下所示:
location.assign(" http://www.lxwl520.com");
这样,就可以立即打开新URL并在浏览器的历史记录中生成一条记录。如果是将location.href或window.location设置为一个URL值,也会以该值调用assign()方法。例如,下列两行代码与显式调用assign()方法的效果完全一样:
window.location="http://www.lxwl520.com";
location.href="http://www.lxwl520.com";
在这些改变浏览器位置的方法中,最常用的是设置location.href属性。另外,修改location对象的其他属性也可以改变当前加载的页面。
三、header location 使用注意事项
1、要求header前没有任何输出
但是很多时候在header前我们已经输出了好多东西了,此时如果再次header的话,显然是出错的,在这里我们启用了一个ob的概念,ob的意思是在服务器端先存储有关输出,等待适当的时机再输出,而不是像现在这样运行一句,输出一句,发现header语句就只能报错了。
具体的语句有: ob_start(); ob_end_clean();ob_flush();.........
2、在header("Location:")后要及时exit
否则他是会继续执行的,虽然在浏览器端你看不到相应的数据出现,但是如果你进行抓包分析的话,你就会看到下面的语句也是在执行的。而且被输送到了浏览器客户端,只不过是没有被浏览器执行为html而已(浏览器执行了header进行了转向操作)。