23

背景:我正在使用一个名为 Social Engine 的软件包。这是非常错误的。

无论如何,我要求(甚至付费)社交引擎人员进行升级,当他们最终这样做时,我登录该站点并注意到样式都丢失了。我打开了一张支持票,他们只告诉我这是一个 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。还是没有骰子。

他们的软件可能正在做的事情是我需要研究修补吗?

4

3 回答 3

11

问题可能是由于您的浏览器缓存了原始 CSS 文件并尝试请求新文件的字节范围。例如,请参阅Chrome 的这个错误

至于禁用范围请求,如果您清除浏览器缓存可能没有必要,但如果您需要它,您可以尝试以下 Apache 配置:

Header unset Accept-Ranges

这将告诉客户端他们不能使用Range请求标头来请求文件的字节范围。

于 2011-05-05T13:52:43.037 回答
6

我有,在我的 .htaccess 文件的顶部

Header set Accept-Ranges none
RequestHeader unset Range 

希望这可以帮助。

于 2014-05-09T03:44:20.573 回答
3

拦截从您的 ISP 返回的标头并验证您是否收到 416 状态代码。如果是这样,请拦截您发送给 ISP 的标头并删除范围标头;这应该强制服务器向您发送整个文件。

于 2011-11-09T18:21:33.810 回答