【问题标题】:AWS S3 Redirect adding trailing slashes and encoding & as &AWS S3 重定向添加斜杠和编码 & as &
【发布时间】:2018-11-18 16:18:57
【问题描述】:

我要做的是使用 S3 存储桶通过“静态 Web 托管重定向请求”执行 http 重定向。

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

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

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

【问题讨论】:

    标签: amazon-web-services redirect amazon-s3 special-characters urlencode


    【解决方案1】:

    看到了同样的情况,不想做 html/js 重定向 - 这就是我所做的:

    把bucket改成“用这个bucket来托管网站”,把index.html作为索引文件,但不添加实际文件,然后在路由规则里放这个,把&替换成&

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2020-01-21
        • 2016-02-18
        • 2017-08-16
        • 1970-01-01
        • 2014-11-03
        • 2015-07-17
        • 2021-12-30
        • 1970-01-01
        • 2011-10-19
        相关资源
        最近更新 更多