我在一个VM when服务器中有许多重定向,当使用嵌入式导航器(iceweasel)浏览服务器时,它可以工作。但是,当从主机的浏览器访问服务器时(使用FF4/IE8/Chrome/Opera11 11进行了测试),这是行不通的。
所有有经验的重定向方法都是驱动到主机浏览器中的“不可用或重载的服务器”。
如果您可以查看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.备存-live.timeout)增加到3600 s:没有更改。
我检查了之前没有将头发送到重定向: ok ( headers_sent()的转储显示没有发送任何标头,也没有在包含中显示空行或空格)。
我增加了Apache服务器超时,以防万一:没有变化。
我确保在HTTP/1.1中使用绝对的url。我尝试了php、html元和js重定向:没有改变。
编辑1:
以下是LiveHTTPHeaders在“不工作”情况下看到的标题:
http://www.mydomain.org/menus/noeud4.php
POST /菜单/noeud4.php HTTP/1.1
主机: www.mydomain.org
用户代理: Mozilla/5.0 (WindowsNT6.1;WOW64;rv:2.0.1)
接受: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
接受语言: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
接受-编码: gzip,放气
接受-字符集: 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
login=my_superlogin1&pwd1=vbigpass3xqz%40A2L&captcha=91690& source=noeud4.php&>formulaire_valide=SOUMETTRE
HTTP/1.1 302
日期:太阳,2011年6月26日14:17:27
服务器: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_/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供电: PHP/5.3.3
届满时间:清华,1981年11月19日08:52:00
缓存控制:无存储,无缓存,必须重新验证,后置检查=0,预检查=0
Pragma:无缓存
地点:session=a4da9106dba2ffd40345a5eb624d7788
内容长度:0
保持活力: timeout=60
连接:保持-活着
内容-类型: text/html
session=a4da9106dba2ffd40345a5eb624d7788
获取/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788 HTTP/1.1
主机: www.mydomain.org
用户代理: Mozilla/5.0 (WindowsNT6.1;WOW64;rv:2.0.1)
接受: text/html,application/xhtml+xml,application/xml;q=0.9,/;q=0.8
接受语言: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
接受-编码: gzip,放气
接受-字符集: 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格林尼治时间
服务器: Apache/2.2.9 (Debian) DAV/2 SVN/1.5.1 mod_/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-由PHP/5.3.3驱动
届满时间:清华,1981年11月19日08:52:00
缓存控制:无存储,无缓存,必须重新验证,后置检查=0,预检查=0
Pragma:无缓存
地点:Z5wRio
内容长度:0
保持活力: timeout=60
连接:保持-活着
内容-类型: text/html
EDIT2:比较请求/响应(工作/不工作)的两种情况,我在其他方面分离出以下两个主要区别:
关于“工作”的答复:
情况: 200,我没有关于“不工作”的回答,但我不明白为什么。
关于“不工作”的答复:
DNT:1
它代表选项不要从FF4跟踪(我)。
所以我试着关闭这个选项,但是结果是一样的。
我肯定会想念他的。看起来服务器好像都坏了。可能会话cookie (76 kb)太大了。我还尝试将firefox 4降级为3.6,因为这是另一个更改的参数,但我仍然得到了与FF4相同的FF3.6响应。
发布于 2011-06-26 23:40:43
正如您在发布的请求中所看到的,您尝试点击:http://www.mydomain.org/menus/noeud4.php,但是您被重定向到session=a4da9106dba2ffd40345a5eb624d7788,然后再重定向到Z5wRio
它是否一直发送302头?
我猜noeud4.php脚本是一些登录脚本,可能会创建一个会话,并可能设置一些cookie。我的猜测是检查这是否是正确的-并找出它为什么要抛出302。
https://stackoverflow.com/questions/6483348
复制相似问题