扫除 PHP get_headers 带来的困扰

前段时间在使用 PHP 中的 get_headers 来获取头信息时,发现其中某个链接会返回多个 Location ,然后就疑惑了,难道 301 重定向这些可以同时多个?按理说只能重定向一次,且前后不能有输出?这到底是怎么一回事呢?

headers

被这个问题困扰了好久,今晚在和NB君聊天时说起这个问题,他的一句话提醒了我,“这应该是 3 个请求结果吧”。

我仔细看了一下,果然,虽然只有 2 个 Location,但有 3 个请求,第 3 个的应答是 200。

我想了下,莫非 PHP 的 get_headers 是一直获取到最终的应答结果而不只是获取第一次请求的结果?

然后做了下验证,果然如此。

文件 a.php
[ccewln_php]

[/ccewln_php]

文件 b.php
[ccewln_php]

[/ccewln_php]

文件 c.php
[ccewln_php]

[/ccewln_php]

最终访问 c.php 得到的部分结果如下:
[ccewln_php]
[Location] => Array
(
[0] => http://localhost/b.php
[2] => http://cn.bing.com
)
[/ccewln_php]

扫除 PHP get_headers 带来的困扰》上有3条评论

  1. N

    这个主题真简单,有时间我也要弄个超级简单色块版的

    1. 流年 文章作者

      简单的适合我这种不懂设计的 😎

评论已关闭。