使用pushState为backbone.js应用程序提供S3 web托管
S3 web hosting for backbone.js application with pushState
我使用自定义域名在AmazonS3上托管一个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中运行。页面加载后,您可以使用推送状态来读取片段#my-folder/my-page/whatever
并将其重写为my-folder/my-page/whatever
,我相信这将实现您想要的。
相关文章:
- Javascript:selenium Web驱动程序isDisplayed()不工作
- Amazon S3 REST API大小不正确
- 在Web应用程序中使用Highcharts javascript
- WebDriverException:tinyMCE未在selenium Web driver java中定义
- Selenium Web驱动程序和javascript
- Windows形成web浏览器控件和Javascript更改的DOM
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- 如何在Javascript/ES6中的Aurelia浏览器应用程序中使用AWS S3
- Steam Web API:I'我不知道该如何处理这个看起来像哈希的url来生成图像
- 在调用speak之前预加载Web Speech API
- 如何在visualstudio中调试web api时编辑javascript文件
- 是否存在React Native“;WEB代码安全防护”;
- 如何在Ionic Android中将Javascript注入到web视图中
- 将复杂对象从angular js传递到web api,它总是返回404
- 基于api密钥的NodeJS web服务
- 将图像从 Web 应用程序上传到 S3,而无需将其存储在服务器中
- 授予s3目录web访问权限的最佳方法
- 使用pushState为backbone.js应用程序提供S3 web托管
- 使用pushState为backbone.js应用程序提供S3 web托管
- amazon web services - AWS S3 JavaScript SDK - NetworkingErro