不幸的是,我被一款名为 Social Engine 的软件包所困扰。千万不要买它。它漏洞百出,技术支持也非常糟糕。
无论如何,我要求(甚至付费)他们进行升级,三天后(三天!)他们终于做到了。当我登录网站时,我注意到样式全部丢失。我打开了支持单,他们只告诉我这是 416 错误,并让我联系我的 ISP。
由于我是 ISP,我开始进行研究才发现这是一个罕见的错误,并且我看不到任何关于在我的 Ubuntu 10.10 Linode 服务器(运行最新的 Apache 和 PHP5 并安装了 APC 扩展)上关闭范围请求的建议。
通过测试位于有缺陷的软件的主题文件夹中的 CSS 文件的直接链接发现了这个错误。
这确实是我可以以某种方式利用的服务器修复吗?或者这是他们的软件可能正在做的事情,我需要进一步研究吗?
答案1
这是关于请求通过 php 的方式的问题;它可能会引发错误或其他问题,而不是提供正确的数据。
直接到文件似乎有效:http://ministersdev3.themonastery.org/application/themes/monastery-theme/theme.css
但是.. 为什么 css 文件需要部分传输呢?其他东西无法正常工作,我怀疑 416 只是掩盖了真正的问题。
让客户端停止发送Range
标头(我仍然无法想象它为什么要这样做……)的解决方法是阻止 Apache 中的标头:Header unset Accept-Ranges
。但是,我认为解决此问题后,您会发现更多问题。