2010-09-27 64 views
1

嘿伙计们, 我一心想提高自己的页面速度因素,昨天我在rackspacecloud上得到了一些云空间。在此之前,我通过htaccess通过适当的缓存控制来提供来自无Cookie域的静态内容。如何设置外部云文件的缓存控制

现在,我转移到云后,我的htaccess不控制云文件。机架空间上有一个TTL参数,用于设置文件应保留在CDN上的时间值。该值反映在我的Page Speed设置(谷歌+萤火虫)上。现在默认设置可以最多72小时,但我需要7天以上的东西。我需要一些API和它的复杂..

有没有什么办法可以强制执行缓存控制我的云文件? 这些查询字符串做些什么domain.com/file.css?cache=0.54454334 ???

他们是否实现我在找的东西? 任何帮助表示赞赏。

回答

1

你可能已经知道了,但继承人链接到结帐:Set far-future expires headers with Rackspace Cloud Files (sort of)

他正在使用cloudfiles PHP API,我也是如此。您可以手动将TTL(aka expires)标头设置为任何您想要的。现在我有他们设置为365天(也许有点过度)。

该文档相当简单。如果您需要任何帮助,此代码可以帮助您开始使用:

<?php 

// include the API 
require('cloudfiles.php'); 

// cloud info 
$username = "myusername"; // username 
$key = "c2dfa30bf91f345cf01cb26d8d5ea821"; // api key 

// Connect to Rackspace 
$auth = new CF_Authentication($username, $key); 
$auth->authenticate(); 
$conn = new CF_Connection($auth); 

// Get the container we want to use 
$container = $conn->create_container('images'); 

// store file information 
$filename = "images/logo.jpg"; 

// upload file to Rackspace 
$object = $container->create_object($filename); 
$object->load_from_filename($localfile); 

// make public, and set headers 
$container->make_public(86400 * 365); // expires headers set to 365 days 

?>