4

上發送沒有主機名的HTTP/1.1,我們在我們的webapp中使用重定向後模式。IE6和IE7在重定向

有時很少錯誤日誌都在我們的Apache日誌是這樣的:

[錯誤] [...]客戶端發送HTTP/1.1請求沒有主機名(見RFC2616節14.23):...

在我的ACCES

登錄他們顯示爲 [...] 「GET/XYZ/HTTP/1.1」 400 226 「 - 」, 「 - 」 72

這裏發生的是:應用程序發送一個像這樣的絕對URL的重定向:

地點:http://www.kicktipp.de/demo/

今天,我有三個瀏覽器有要求,這是我們沒有重定向需要主機頭的網址:

  • 「的Mozilla/4.0(兼容; MSIE 7.0; Windows NT 6.0; GTB6; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.5.30729; 「Mozilla/4.0(compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 1.1.4322; .NET .NET CLR 3.0.30618)」
  • 「 「Mozilla/4.0(兼容; MSIE 7.0; Windows NT 5.1; Mozilla/4.0(兼容; MSIE 7.0; Win32; WEB.DE); Mozilla/4.0(兼容; MSIE 8.0 ; Win32; WEB.DE); .NET CLR 1.1.4322; InfoPath.1; .NET CLR 2.0.50727; OfficeLiveConnector.1.4; OfficeLivePatch.1.3; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)「

這些都是正常訪問,用戶點擊幾頁,然後得到一個重定向,它失敗並出現錯誤。

我知道,一些老的瀏覽器需要幫助的HTTP/1.1,所以我們有默認的Debian SETENV配置:

<IfModule mod_setenvif.c> 

# 
# The following directives modify normal HTTP response behavior to 
# handle known problems with browser implementations. 
# 
BrowserMatch "Mozilla/2" nokeepalive 
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0 
BrowserMatch "RealPlayer 4\.0" force-response-1.0 
BrowserMatch "Java/1\.0" force-response-1.0 
BrowserMatch "JDK/1\.0" force-response-1.0 

# 
# The following directive disables redirects on non-GET requests for 
# a directory that does not include the trailing slash. This fixes a 
# problem with Microsoft WebFolders which does not appropriately handle 
# redirects for folders with DAV methods. 
# Same deal with Apple's DAV filesystem and Gnome VFS support for DAV. 
# 
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully 
BrowserMatch "MS FrontPage" redirect-carefully 
BrowserMatch "^WebDrive" redirect-carefully 
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully 
BrowserMatch "^gnome-vfs/1.0" redirect-carefully 
BrowserMatch "^XML Spy" redirect-carefully 
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully 

</IfModule> 

它發生每10000個重定向只有一次。但當然我想要滿足每個用戶和每個瀏覽器。

有什麼提示可以給我嗎?是否需要添加更多的瀏覽器到我們的mod_setenvif配置?

回答

0

根本原因可能是類似於其在不相關的問題會導致不一致的Accept header

Accept首部的變化之一:

  • 當頁面被緩存
  • 當引薦已更新