AmazonS3上的URL指纹缓存
我在AmazonS3上有一个bucket,我保存了一些有时会更改的文件,但我想对它们使用最大的缓存,所以我想使用URL指纹来使缓存无效 我使用文件的“上次修改”日期作为指纹,请求S3文件的html页面总是知道每个文件的指纹 现在,我意识到我可以在查询字符串中使用指纹,如下所示:AmazonS3上的URL指纹缓存,url,caching,mod-rewrite,amazon-s3,fingerprint,Url,Caching,Mod Rewrite,Amazon S3,Fingerprint,我在AmazonS3上有一个bucket,我保存了一些有时会更改的文件,但我想对它们使用最大的缓存,所以我想使用URL指纹来使缓存无效 我使用文件的“上次修改”日期作为指纹,请求S3文件的html页面总是知道每个文件的指纹 现在,我意识到我可以在查询字符串中使用指纹,如下所示: http://aws.amazon.com/bucket/myFile.jpg?v=1310476099061 但是查询字符串并不总是足以让某些代理或旧浏览器使缓存无效,而且如果它包含查询字符串,某些代理和浏览器甚至不
http://aws.amazon.com/bucket/myFile.jpg?v=1310476099061
但是查询字符串并不总是足以让某些代理或旧浏览器使缓存无效,而且如果它包含查询字符串,某些代理和浏览器甚至不会缓存它。这就是为什么我想将指纹保留在实际URL中,比如:
http://aws.amazon.com/bucket/myFile-1310476099061.jpg
http://aws.amazon.com/bucket/1310476099061/myFile.jpg
http://aws.amazon.com/bucket/myFile.jpg/1310476099061
etc
这些URL中的任何一个都非常适合请求myFile.jpg,但我希望所有这些URL都重新映射到http://aws.amazon.com/bucket/myFile.jpg
文件。也就是说,我只想更改URL,以便浏览器认为这是一个新文件,并获得一个新文件,它将缓存一年。当我上传该文件的新版本时,指纹会自动更新
现在我的问题是:有没有办法重写url,以便请求类似
http://aws.amazon.com/bucket/myFile-xxxxxx.jpg
将提供http://aws.amazon.com/bucket/myFile.jpg
亚马逊S3上的文件?或者,是否有其他解决方法仍然可以缓存文件?谢谢=)恐怕您在查询字符串中的版本被卡住了。如果不实际更改文件名,就无法重写S3上的URL。那太糟糕了。尽管如此,我想我会上传文件名中带有指纹的文件,然后通过脚本删除旧文件,这应该会有同样的效果。谢谢