我有一個VM網絡服務器內的許多重定向,當使用嵌入式導航器(iceweasel)瀏覽服務器時工作。但是從託管機器的瀏覽器訪問服務器時不起作用(使用FF4/IE8/Chrome/Opera11進行測試)。php重定向 - HTML標頭
所有有經驗的重定向方法都會導致主機瀏覽器中的「服務器不可用或超載」。
如果你可以看看從Apache日誌的標題和提供有關差異的一些提示(主要一個看起來是GET網址,提供相同的代碼運行時):
工作請求導致這個日誌:
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〜3600:沒有變化
我檢查了沒有標題先前發送到重定向:ok(headers_sent()的轉儲顯示沒有發送頭文件,也沒有包含空行或空格)
我增加了Apache服務器超時以防萬一:無變化
我確信使用一個絕對URL作爲HTTP/1.1。 我試過PHP,HTML 元和JS重定向:沒有變化
編輯1:
這裏是作爲 「非工作」 的情況下看到通過的LiveHTTPHeaders標題:
http://www.mydomain.org/menus/noeud4.php
POST /menus/noeud4.php HTTP/1.1
主機:www.mydomai n.org
User-Agent:Mozilla/5.0(Windows NT 6.1; WOW64; rv:2.0.1)Gecko/20100101 Firefox/4.0.1
Accept: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個
連接:保持活着
的Referer:http://www.mydomain.org/index.php?page=890
曲奇:PHPSESSID = 4bge5gg1rgkit78k3seqlfcbq2
授權:基本aW52aXRlZEBjYW1hY2FzYTp5b3VybXlndWVzdEB0b2RheQ ==
內容類型:應用/ X- WWW窗體-urlencoded
的Content-Length: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
Expires:Thu,19 Nov 1981八點52分00秒GMT
緩存控制:無店鋪,無緩存,必重新驗證,檢查後= 0,預檢查= 0
雜注:無緩存
地點:http://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788
有限公司ntent-長度:0
保持活動:超時= 60
連接:保持活動
的Content-Type:text/html的
http://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788
GET /index.php?page=100 & new_session = a4da9106dba2ffd40345a5eb624d7788 HTTP/1.1
Host:www.mydomain.org
User-Agent:Mozilla/5.0(Windows NT 6.1; WOW64; rv:2.0.1)Gecko/20100101 Firefox/4.0.1
Accept: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
連接:保持活着
的Referer:http://www.mydomain.org/index.php?page=890
曲奇:PHPSESSID = 4bge5gg1rgkit78k3seqlfcbq2
授權:基本aW52aXRlZEBjYW1hY2FzYTp5b3VybXlndWVzdEB0b2RheQ ==HTTP/1.1 302實測值
日期:星期日,2011年6月26日十四時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日8點52分00秒GMT
緩存控制:無店,無緩存,必重新驗證,後檢查= 0,預檢查= 0
附註:無-cache
位置:https://www.mydomain.org/index.php?page=100&new_session=a4da9106dba2ffd40345a5eb624d7788&sid=4bge5gg1rgkit78k3seqlfcbq2&sidf=.ps_Z5wRio
的Content-Length:0
保持活動:超時= 60
連接:保持活動
的Content-Type:text/html的
EDIT2: 比較的請求/響應(工作/不工作)這兩種情況下,我分離等等以下2點主要區別:
在 「工作」 的反應:
狀態:200 ,其我沒有關於「不工作」的反應,但我不明白爲什麼。
的 「非工作」 的迴應:
DNT:1
它代表選項Do Not Track (me) from FF4。
所以我試圖取消激活這個選項,但結果相同。
我可能會錯過sthg。所有看起來好像服務器已關閉。會話cookie(76 kb)可能太大。我也嘗試將firefox 4降級到3.6,因爲這是另一個更改的參數,但我仍然使用FF3.6與FF4一樣獲得了相同的響應。
你可以使用LiveHTTPHeaders(用於Firefox)或類似的東西來看看頭文件嗎? – Halcyon
聽起來像是域名/ DNS/VHosting的問題。你有沒有在虛擬機'/ etc/hosts'文件中設置需要複製到主機的別名?主機是否提供任何DNS服務給虛擬機內部不需要更換的虛擬機?如果來自主機的請求使用不同的域名,您是否使用基於名稱的Apache VHosts,這可能意味着來自主機的請求被路由到不同的VHost配置。 – Robin
@Frits van Campen:Thx,這正是我試圖用螢火蟲實現的。我使用「阻止」標題進行編輯。 – hornetbzz