Laravel 4.0使用Codesleeve资产管道在每次刷新时下载所有资产

时间:2014-07-27 22:32:52

标签: php laravel httpresponse

我们已经在我们的服务器上启动并运行了Codesleeve的资产管道 - https://github.com/CodeSleeve/asset-pipeline,但出于某种原因,它完全忽略了我们的.htaccess标头和它自己的缓存设置。配置文件如下所示:

'cache' =>  array('production'),
'cache_server' => new Assetic\Cache\FilesystemCache(App::make('path.storage') . '/cache/asset-pipeline'),
'cache_client' => new Codesleeve\AssetPipeline\Filters\ClientCacheFilter,

非常感谢任何帮助 - 应用程序在线是http://app.nationalmachine.co

的测试模式

2 个答案:

答案 0 :(得分:0)

PHP甚至不知道您的.htaccess文件。 PHP只为您的服务器提供内容(在本例中为Apache),服务器解析.htaccess文件以确定适当的标头。您可以在PHP中设置标题,但是如果您的服务器对实际发送的内容有最后的说法,并且可以覆盖它喜欢的任何标题属性。

话虽如此,问题是.htaccess文件配置不正确,或者内容正在使用不正确的内容类型标头信息,因此它与您的{{1}不匹配指令。

查看该网站,图像似乎缓存正常。 JS和CSS都具有大量.htaccess属性,但设置为Cache-Control:max-age=31536000。我猜你的Apache Cache-Control:no-cache文件没有为缓存映射.htaccess个扩展名。

如果这不起作用,您可能需要在您的网站上设置SSL / TLS并再次测试,以确保没有代理对您的文件起作用。代理关闭缓存标头并不常见,但使用SSL进行测试至少可以确定不会发生什么。

答案 1 :(得分:0)

事实证明,Codesleeve的Asset Pipeline设置了标题本身,因此没有任何数量的.htaccess内容会产生任何影响。感谢BayssMekanique帮助您解决这个问题。