[英]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.