2011-05-05 149 views
14

上下文:我正在使用名爲Social Engine的軟件包。這是非常錯誤的。416請求的範圍不可滿足

無論如何,我問(甚至付錢)社交引擎人員進行升級,當他們最終這樣做時,我登錄到網站並注意到樣式都丟失了。我打開了一張支持票,他們告訴我的是,這是一個416錯誤,並聯系我的ISP。

通過測試軟件中位於可寫文件夾中的CSS文件的直接鏈接找到了此錯誤。

http://ministersdev3.themonastery.org/application/css.php?request=application/themes/monastery-theme/theme.css&c=6

我開始做我的研究才發現這是一個非常罕見的錯誤,我不能看到轉範圍請求關閉我的Ubuntu 10.10的Linode服務器上的任何建議(運行最新版的Apache和PHP5與APC擴展安裝)。也許這是一個軟件問題?有些APC的緩存工作正常嗎?我將此軟件中的緩存重置爲60秒,並確保它使用APC。仍然沒有骰子。

這是他們的軟件可能做的事情,我需要考慮修補嗎?

回答

10

該問題可能是由於您的瀏覽器緩存了原始CSS文件並嘗試請求新文件的字節範圍。例如參見this bug with Chrome

至於禁用範圍請求,它可能沒有必要,如果您清除瀏覽器緩存,但是如果你需要它,你可以試試下面的Apache的配置:

Header unset Accept-Ranges 

這會告訴客戶,他們不能請使用Range請求標頭來請求文件的字節範圍。

2

截獲您的ISP返回的頭文件,並驗證您是否收到416狀態碼。如果是這樣,攔截您發送到您的ISP的標題並放下範圍標題;這應該強制服務器向您發送整個文件。

6

我,在我的.htaccess文件

Header set Accept-Ranges none 
RequestHeader unset Range 

希望這有助於頂部。