要求的范围不能满足



背景:我正在使用一个名为Social Engine的软件包。它有很多bug。

无论如何,我要求(甚至付钱)社会引擎的人做一个升级,当他们终于这样做了,我登录到网站,发现所有的风格都不见了。我打开了客服单,他们告诉我这是一个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。还是没有成功。

是不是他们的软件有什么问题需要我去修补?

这个问题可能是由于您的浏览器缓存了原始CSS文件并试图请求新文件的字节范围。请看Chrome的这个bug。

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

Header unset Accept-Ranges

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

在我的。htaccess文件的顶部

Header set Accept-Ranges none
RequestHeader unset Range 

拦截从您的ISP返回的报头并验证您正在获得416状态码。如果是这样,拦截你发送给你的ISP的头,并删除范围头;这将强制服务器向您发送整个文件。

相关内容

  • 没有找到相关文章

最新更新