AWS S3 重定向添加尾部斜杠和编码 & as &



我正在尝试做的是使用 S3 存储桶通过"静态虚拟主机重定向请求"执行 http 重定向。

我尝试重定向到的目标存储桶或域是:"example.com/test?param1=123&param2=456",协议是"https"。

但是,当我使用此设置并点击我的存储桶时,它最终会将我重定向到: https://example.com/test?param1=123&param2=456/

还有其他人解决这个问题吗?

已经看到了相同的内容,并且不想进行HTML/js重定向 - 这是我所做的:

将存储桶更改为"使用此存储桶托管网站",将索引.html作为索引文档,但不添加实际文件,然后在路由规则中放置此内容,将 & 符号替换为&

<RoutingRules>
<RoutingRule>
<Redirect>
<Protocol>https</Protocol> 
<HostName>example.com</HostName>
<ReplaceKeyWith>/test?param1=123&amp;param2=456</ReplaceKeyWith>
</Redirect>
</RoutingRule>
</RoutingRules>

本质上,由于没有指定实际的路由规则,因此会将所有流量重新路由到您想要的位置。保存时,&将转换为&,并且末尾不会添加尾部斜杠。

谢谢,@Ryan,这对我有用。但是,AWS 现在要求重定向规则用 JSON 编写,因此这里是对 @Ryan 答案的更新。 (以下是有关重定向规则的 AWS 文档。

[
{
"Redirect": {
"HostName": "yourdomain.com",
"Protocol": "https",
"ReplaceKeyWith": "/desired/path?with=query"
}
}
]

最新更新