php重定向 - HTML标头

时间:2011-06-26 10:15:54

标签: php html redirect header

我在VM网络服务器中有很多重定向,当使用嵌入式导航器(iceweasel)浏览服务器时,它可以正常工作。但是当从托管计算机的浏览器访问服务器时(使用FF4 / IE8 / Chrome / Opera11测试),这不起作用。

所有经验丰富的重定向方法都在推动托管机器浏览器中的“服务器不可用或超载”。

如果您可以查看apache日志中的标头并提供一些关于差异的提示(主要看起来是GET URL,只要相同的代码正在运行):

工作请求会导致此日志:

cat /var/log/apache2/access.log | grep 127 | grep random | tail -n1   
127.0.0.1 - authuserid [26/Jun/2011:11:11:52 +0200]    
"GET /index.php?page=100 HTTP/1.1" 200 49151
"https://www.mydomain.foo/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788&random=c0117685e7e65a307989c219efc587b4&sid=n7en2it41h2gumrcq3kmmil3c0&sidf=.ps_AWDkIY"
"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.19) Gecko/2011050718 Iceweasel/3.0.6 (Debian-3.0.6-3)"

无效请求会导致此日志:

cat /var/log/apache2/access.log | grep 192 | grep random | tail -n1   
www.mydomain.org:80 192.168.X.Y - authuserid [26/Jun/2011:11:08:07 +0200]  
"GET  /index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788&random=685de8bcd4d198d6ad7f3cf4b23de5b7 HTTP/1.1" 302 -
"http://www.mydomain.foo/index.php?page=xyz"    
"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:2.0.1) Gecko/20100101 Firefox/4.0.1"

我无法显示标头响应,因为我没有收到响应,也没有apache报告的错误(loglevel = error)。

THX

完成控制:
我增加了浏览器超时(FF: network.http.keep-alive.timeout 到3600s:没有变化。
我检查过以前没有向重定向发送任何标头:ok( headers_sent()的转储显示没有发送标头,包含空格行或空格,)

我增加了Apache服务器超时以防万一:没有变化
我确保使用HTTP / 1.1中的绝对URL。 我试过php,html meta 和js重定向:没有改变

编辑1:

以下是LiveHTTPHeaders在“非工作”情况下看到的标题:

  
     

http://www.mydomain.org/menus/noeud4.php
  POST /menus/noeud4.php HTTP / 1.1
  主持人:www.mydomain.org
  User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64; rv:2.0.1)Gecko / 20100101 Firefox / 4.0.1
  接受:text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8
  Accept-Language:fr,fr-fr; q = 0.8,en-us; q = 0.5,en; q = 0.3
  Accept-Encoding:gzip,deflate
  Accept-Charset:ISO-8859-15,utf-8; q = 0.7,*; q = 0.7
  保持活力:3600
  DNT:1
  连接:保持活力
  推荐人:http://www.mydomain.org/index.php?page=890
  Cookie:PHPSESSID = 4bge5gg1rgkit78k3seqlfcbq2
  授权:基本aW52aXRlZEBjYW1hY2FzYTp5b3VybXlndWVzdEB0b2RheQ ==
  内容类型:application / x-www-form-urlencoded
  内容长度:98
  登录名= my_superlogin1&安培; pwd1 = vbigpass3xqz%40A2L&安培;验证码= 91690&安培;源= noeud4.php&安培;> formulaire_valide = SOUMETTRE
  HTTP / 1.1 302找到了   日期:太阳,2011年6月26日14:17:27 GMT
  服务器:Apache / 2.2.9(Debian)DAV / 2 SVN / 1.5.1 mod_fastcgi / 2.4.6 mod_python / 3.3.1 Python / 2.5.2> mod_ssl / 2.2.9 OpenSSL / 0.9.8g PHP / 5.3.3
  X-Powered-By:PHP / 5.3.3
  到期日:1981年11月19日星期四08:52:00格林尼治标准时间   缓存控制:无存储,无缓存,必须重新验证,后检查= 0,预检查= 0   Pragma:no-cache
  地点:http://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788
  内容长度:0
  保持活跃:超时= 60
  连接:保持活力
  内容类型:text / html

     
     

http://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788
  GET /index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788 HTTP / 1.1
  主持人:www.mydomain.org
  User-Agent:Mozilla / 5.0(Windows NT 6.1; WOW64; rv:2.0.1)Gecko / 20100101 Firefox / 4.0.1
  接受:text / html,application / xhtml + xml,application / xml; q = 0.9, / ; q = 0.8
  Accept-Language:fr,fr-fr; q = 0.8,en-us; q = 0.5,en; q = 0.3
  Accept-Encoding:gzip,deflate
  Accept-Charset:ISO-8859-15,utf-8; q = 0.7,*; q = 0.7
  保持活力:3600
  DNT:1
  连接:保持活力
  推荐人:http://www.mydomain.org/index.php?page=890
  Cookie:PHPSESSID = 4bge5gg1rgkit78k3seqlfcbq2
  授权:基本aW52aXRlZEBjYW1hY2FzYTp5b3VybXlndWVzdEB0b2RheQ ==

     

发现HTTP / 1.1 302   日期:太阳,2011年6月26日14:19:59 GMT
  服务器:Apache / 2.2.9(Debian)DAV / 2 SVN / 1.5.1 mod_fastcgi / 2.4.6 mod_python / 3.3.1 Python / 2.5.2> mod_ssl / 2.2.9 OpenSSL / 0.9.8g PHP / 5.3.3 X-Powered-By:PHP / 5.3.3
  到期日:1981年11月19日星期四08:52:00格林尼治标准时间   缓存控制:无存储,无缓存,必须重新验证,后检查= 0,预检查= 0   Pragma:no-cache
  地点:https://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788&sid=4bge5gg1rgkit78k3seqlfcbq2&sidf=.ps_Z5wRio
  内容长度:0
  保持活跃:超时= 60
  连接:保持活力
  内容类型:text / html

     

EDIT2 : 比较请求/响应(工作/不工作)的两种情况,我分离了以下两个主要差异:

关于“工作”的回答:
状态:200 我没有“非工作”的回应,但我不明白为什么。

关于“非工作”的回应:
DNT:1
代表选项Do Not Track (me) from FF4
所以我尝试停用此选项,但结果相同。

我肯定会错过这个。所有看起来好像服务器已关闭。也许会话cookie(76 kb)太大了。我还尝试将firefox 4降级到3.6,因为这另一个更改了参数,但我仍然得到与FF3.6相同的响应作为FF4。

1 个答案:

答案 0 :(得分:1)

正如您在发布的请求中看到的那样,您尝试点击: http://www.mydomain.org/menus/noeud4.php 但是您被重定向到http://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788,然后又被重定向到https://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788&sid=4bge5gg1rgkit78k3seqlfcbq2&sidf=.ps_Z5wRio

是否继续发送302标题?

我猜测noeud4.php脚本是一些可能会创建会话并可能设置一些cookie的登录脚本。我的猜测是检查是否正确完成 - 并弄清楚为什么它会抛出302