S3路由规则中的重定向主页

米利斯纳

我正在使用S3路由规则来弃用旧域,将流量路由到新域。因此,旧域为product.com,新位置为my-organization.com/product/

我正在使用路由规则来重定向页面。因此,我有一个这样的规则可以重定向常见问题解答:

    <Condition>
        <KeyPrefixEquals>faq</KeyPrefixEquals>
    </Condition>
    <Redirect>
        <Protocol>https</Protocol>
        <HostName>my-organization.com</HostName>
        <ReplaceKeyPrefixWith>product/faq</ReplaceKeyPrefixWith>
        <HttpRedirectCode>301</HttpRedirectCode>
    </Redirect>

这很好用!

剩下要做的一件事就是将旧主页重定向到产品页面。我尝试过使用/以匹配首页:

<KeyPrefixEquals>/</KeyPrefixEquals>

但这似乎不匹配任何东西。而且我尝试匹配空键:

<KeyPrefixEquals></KeyPrefixEquals>

但这符合所有条件。有没有一种方法可以仅重定向S3路由规则中的首页?我想要的是这样的:

    <Condition>
        <KeyPrefixEquals>/</KeyPrefixEquals>
    </Condition>
    <Redirect>
        <Protocol>https</Protocol>
        <HostName>my-organization.com</HostName>
        <ReplaceKeyPrefixWith>product/</ReplaceKeyPrefixWith>
        <HttpRedirectCode>301</HttpRedirectCode>
    </Redirect>

谢谢!

迈克尔-SQLbot

桶的根不是/,它是空字符串空键前缀不能完全满足您的要求,因为所有内容的前缀都与空字符串匹配(因为LEFT(${some_string},LENGTH('')) == '',无论的内容如何${some_string}),因此,无论如何,这样的规则都不会匹配根。它会匹配一切。

没有办法只专门重定向根页面,但这是我一直在使用的变通办法,效果很好。将其作为您的最后一个路由规则(因为它们是按顺序匹配的,并且如果没有页面,则此规则确实与所有尚未匹配的内容都匹配)。

<RoutingRule>
    <Condition>
        <HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals>
    </Condition>
    <Redirect>
        <ReplaceKeyPrefixWith>product/</ReplaceKeyPrefixWith>
        <Protocol>https</Protocol>
        <HostName>new-site.example.com</HostName>
    </Redirect>
</RoutingRule>

您不应该启用存储桶的公共列表,但是如果这样做,则需要将403替换为404。如果您有索引文档,则需要将其删除。

本质上,对于由于该路径上缺少公共页面而被拒绝的任何请求,都将product/被添加,因此http://bucket.example.com/变为https://new-site.example.com/product/

同样,http://bucket.example.com/some/random/file.txt将重定向到https://new-site.example.com/product/some/random/file.txt但旧页面已经无效,因此新页面将无效,因此不会丢失/没有任何收获。由于规则是按顺序匹配的,因此如果最后添加该规则,则它不会破坏其他任何内容。

或者,根据您实际需要执行的大计划,一旦从存储桶中删除了旧内容,此规则实际上可能是您唯一需要的重定向规则。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在 React 中创建重定向规则而不重定向到同一路由?

来自分类Dev

用于附加.html或index.html的AWS S3路由规则

来自分类Dev

AWS CloudFront误解了路由规则,并将资源重定向回S3存储桶对象URL

来自分类Dev

如何在Vue.js 3中使用vue路由器将404路由重定向到Home

来自分类Dev

在S3路由策略中路由时忽略键前缀

来自分类Dev

反应从基于id的路由重定向到404路由

来自分类Dev

编辑AWS S3存储桶重定向规则,以重定向到相同URL的param(url)

来自分类Dev

Amazon S3重定向规则-缺少GET数据

来自分类Dev

如何通过命令行更新Amazon S3的重定向规则

来自分类Dev

如何通过命令行更新Amazon S3的重定向规则

来自分类Dev

AngularJS 2路由:登录后重定向到仪表板

来自分类Dev

无法从301路由器重定向上的URL中提取:page参数

来自分类Dev

Angular2路由器-canActivate使用发布请求进行重定向

来自分类Dev

在Ionic 5路由器中登录/注销时登录/主页没有被破坏

来自分类Dev

在Rails 4路由中重定向

来自分类Dev

如何在Netgear N600路由器上重定向/重新路由DNS请求

来自分类Dev

CakePHP 3路由:前缀中的作用域

来自分类Dev

如何在systemd-networkd中添加IPv6路由规则?

来自分类Dev

登录到主页之前的“规则”页面后,Codeigniter重定向

来自分类Dev

将提供服务的静态文件重定向到root,html5路由,angular2

来自分类Dev

.htaccess 中的重定向规则

来自分类Dev

在React JS中重定向到主页

来自分类Dev

Laravel路由组页面重定向到主页

来自分类Dev

Laravel路由组页面重定向到主页

来自分类Dev

重定向到Amazon S3静态网站中的错误页面

来自分类Dev

ASP.NET使用重写规则将不存在的页面重定向到web.config中的主页

来自分类Dev

Apache主页重定向

来自分类Dev

AWS CloudFront重定向到S3存储桶

来自分类Dev

AWS S3重定向不起作用

Related 相关文章

  1. 1

    如何在 React 中创建重定向规则而不重定向到同一路由?

  2. 2

    用于附加.html或index.html的AWS S3路由规则

  3. 3

    AWS CloudFront误解了路由规则,并将资源重定向回S3存储桶对象URL

  4. 4

    如何在Vue.js 3中使用vue路由器将404路由重定向到Home

  5. 5

    在S3路由策略中路由时忽略键前缀

  6. 6

    反应从基于id的路由重定向到404路由

  7. 7

    编辑AWS S3存储桶重定向规则,以重定向到相同URL的param(url)

  8. 8

    Amazon S3重定向规则-缺少GET数据

  9. 9

    如何通过命令行更新Amazon S3的重定向规则

  10. 10

    如何通过命令行更新Amazon S3的重定向规则

  11. 11

    AngularJS 2路由:登录后重定向到仪表板

  12. 12

    无法从301路由器重定向上的URL中提取:page参数

  13. 13

    Angular2路由器-canActivate使用发布请求进行重定向

  14. 14

    在Ionic 5路由器中登录/注销时登录/主页没有被破坏

  15. 15

    在Rails 4路由中重定向

  16. 16

    如何在Netgear N600路由器上重定向/重新路由DNS请求

  17. 17

    CakePHP 3路由:前缀中的作用域

  18. 18

    如何在systemd-networkd中添加IPv6路由规则?

  19. 19

    登录到主页之前的“规则”页面后,Codeigniter重定向

  20. 20

    将提供服务的静态文件重定向到root,html5路由,angular2

  21. 21

    .htaccess 中的重定向规则

  22. 22

    在React JS中重定向到主页

  23. 23

    Laravel路由组页面重定向到主页

  24. 24

    Laravel路由组页面重定向到主页

  25. 25

    重定向到Amazon S3静态网站中的错误页面

  26. 26

    ASP.NET使用重写规则将不存在的页面重定向到web.config中的主页

  27. 27

    Apache主页重定向

  28. 28

    AWS CloudFront重定向到S3存储桶

  29. 29

    AWS S3重定向不起作用

热门标签

归档