有没有人知道是否可以为S3服务器设置规则或某种配置,如果在给定路径上找不到某些资源,它将允许回退到不同的虚拟文件夹?
以下是一个例子:
调用的网址是https://bucket.s3.domain/virtual-folder/1/res.ext
。如果在虚拟文件夹res.ext
中找不到1
,我希望将其重定向到它的父https://bucket.s3.domain/virtual-folder/res.ext
。父将包含默认版本的资源。因此,我们的想法是,如果您无法找到特定资源,S3应自动返回默认资源。
我做了一些研究,但我得到的只是关于网站重定向。我需要的是一个原始资源,设备将在一个请求中提取,S3将负责所有事情。
这个东西有可能吗?
谢谢, 赌注。
答案 0 :(得分:6)
现在有可能新功能是S3!您必须将您的存储桶设置为静态网站(这将要求您更改用于评估文件的URL),然后设置以下重定向规则:
self.sii_xml_request
我想要做的是,如果文件已上传,则从开发人员存储区提供图片,如果没有,则回退到生产文件。
出于这个原因,我必须使用if isinstance(self.sii_xml_request, bool):
content_lengthj == int(self.sii_xml_request) # 1 if True else 0
else:
content_length = len(self.sii_xml_request)
...
response = pool.urlopen('POST', url, headers={
'Content-Type': 'application/soap+xml',
'charset': 'utf-8',
'Content-Length': content_length}, body=self.sii_xml_request)
和App\Events_Theatre::has('event')->orhas('managers')->get();
,如果这不是你需要的,你可以删除它。
至于重定向本身规则捕获403错误(拒绝因为文件丢失。如果你公开了桶你可能需要在这里使用40)然后只是设置一个新的主机(桶URL)指向。
答案 1 :(得分:0)
如果您只想托管 SPA,现在可以在 S3 存储桶上配置错误文档。
配置错误文档
创建错误文档,例如 404.html
。
在本地保存错误文档文件。
错误文档名称区分大小写,并且必须与您在启用静态网站托管时输入的名称完全匹配。例如,如果您在静态网站托管对话框中为错误文档名称输入 404.html
,则您的错误文档文件名称也必须为 404.html
。
登录 AWS 管理控制台并通过 https://console.aws.amazon.com/s3/ 打开 Amazon S3 控制台。
在“存储桶”列表中,选择要用于托管静态网站的存储桶的名称。
为您的存储桶启用静态网站托管,并输入错误文档的确切名称(例如,404.html
)。有关详细信息,请参阅Enabling website hosting。
启用静态网站托管后,继续第 6 步。
要将错误文档上传到您的存储桶,请执行以下操作之一:
将错误文档文件拖放到控制台存储桶列表中。
选择上传,然后按照提示选择并上传索引文件。
有关分步说明,请参阅Uploading objects。