繁体   English   中英

S3虚拟主机,用于带pushState的骨干.js应用程序

[英]S3 web hosting for backbone.js application with pushState

我正在使用自定义域名在Amazon S3上托管Backbone应用程序。 骨干应用路由器处理根('/')下的所有路由。 我想使用pushState,因此在我的应用程序路由上不需要#前缀。 基本上,我希望所有子路由都由S3路由到域根,然后让Backbone完成其余的工作。

我添加了以下规则:

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

但这只会在所有子路由中添加#号前缀。 我想避免这种情况。

如何在S3存储桶上设置重定向规则,以将所有内容路由到索引文档而无需添加#?

您说“仅添加#号”,但实际上是加载index.html页。 那是因为www.example.com/#my-folder/my-page/whatever无论实际上是在加载/index.html并向浏览器发送#my-folder/my-page/whatever作为片段。 如果您在服务器上而不是在S3中运行网站,则可以执行此操作。 页面加载后,您可以使用push-state读取片段#my-folder/my-page/whatever并将其重写为my-folder/my-page/whatever ,我相信这将实现您想要的功能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM