如何使用 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
EXPERTE
gefragt vor 6 Monaten25 Aufrufe
1 Antwort
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
EXPERTE
beantwortet vor 6 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen