如何使用 S3 重定向规则或 Cloudfront 将所有带有文件扩展名 (aspx) 的传入网址重定向或更改为 html的文件扩展名

0

【以下的问题经过翻译处理】 我想知道是否可以使用S3重定向规则或Cloudfront更改所有具有文件扩展名(aspx)的传入网址为html的扩展名,如果可以该如何操作。 我尝试使用keyprefix但不起作用。我还在下面的JSON指令中添加了“HttpErrorCodeReturnedEquals”:“404”,但也没有起作用。 [ { "Condition": { "KeyPrefixEquals": (wildcard for anything before).aspx" }, "Redirect": { "ReplaceKeyWith": "(wildcard for anything before).html" } } ] 该网站页面存储于一个静态S3存储桶中。

profile picture
专家
已提问 5 个月前20 查看次数
1 回答
0

【以下的回答经过翻译处理】 S3重定向只能更改前缀,基本上就是文件夹名称。前缀不包含文件名称。因此,上述您想要执行的操作方式不受支持。

您可做的一个选项是上传一个带有您要重定向为.html扩展名的.aspx扩展名零字节文件。您需要对每个.html页面执行此操作。通过更改System Metadata,您可以对任何对象执行301重定向操作。

比如,假设您有一个名为/products/myproducts.html的页面,您可以上传名为/products/myproducts.aspx的零字节文件(注意:它也可以不是零字节文件)。接下来在该文件的System Metadata 配置 x-amz-website-redirect-location /products/myproducts.html 键值对。

如果您需要其他信息,您可以查看如何执行各种重写规则的示例

如果使用CloudFront,您也可以尝试使用lambda@edge进行URL重写,但橡胶上一种方式来说相对复杂且还会有额外成本。

如果您的前端是使用类似于Angular或React的单个页面应用程序,则可以使用客户端路由,在浏览器中执行此操作。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则