Amazon S3 中的 URL 重写

Amazon S3 中的 URL 重写

我有一个托管在 Amazon S3 上的 Web 应用程序,该 Web 应用程序使用 jQuery Mobile 构建,我使用 changePage 在页面之间导航,更改页面时我没有使用井号运算符 (#)。

当用户复制网址并将其粘贴到新选项卡中时,我遇到了问题

例如:

http://www.exampleurl.com/page1.html

仅使用 jquery 页面结构加载 amazon s3 中的页面 page1.html...

我想要的行为是加载 index.html 并使用 js 读取 url、检测页面并加载正确的页面。

使用 Apache 我通过 URL 重写解决了这个问题...但对于 Amazon S3 我没有发现任何类似的...

注意:我知道如果我在 URL 中激活井号运算符 (#),问题就解决了,但我需要干净的没有 # 的 URL。

答案1

最后我在另一个问题中找到了解决我的问题的方法:

https://stackoverflow.com/questions/16267339/s3-static-website-hosting-route-all-paths-to-index-html

目标是在重定向规则中使用此配置:

<RoutingRules>
  <RoutingRule>
    <Condition>
    <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals >
     </Condition>
    <Redirect>
      <HostName>yourdomainname.com</HostName>
      <ReplaceKeyPrefixWith>#!/</ReplaceKeyPrefixWith>
    </Redirect>
  </RoutingRule>
</RoutingRules>

相关内容