Eri*_*son 7 url amazon-s3 ember.js ember-cli
我正在研究一个我在S3中部署的ember-cli应用程序.我真的希望能够使用这种"无服务器"方法,因为它配置非常简单,而且非常实惠.
我的网址有问题.如果我点击http://my-bucket.s3-website-us-east-1.amazonaws.com/就可以了.但是如果我尝试直接加载除应用程序根目录之外的页面,例如http://my-bucket.s3-website-us-east-1.amazonaws.com/elephants/5,那么它会给出403 ,因为S3中没有这样的资源.(我可以通过应用程序很好地导航到这些页面,我可以在我的机器上以开发模式直接命中它们,因此ember应用程序工作正常.)
寻找解决方案,我找到了添加到我的路径的建议#!.这似乎更好,因为它没有返回403,但当我点击http://my-bucket.s3-website-us-east-1.amazonaws.com/#!/elephants/5时,它只是重定向到http://my-bucket.s3-website-us-east-1.amazonaws.com,丢失路径中包含的任何特定信息.
我有什么选择?有没有办法使用S3并有工作的URL?我需要服务器吗?还是有另一种方法让我望而却步?
仅具有基于#的重定向的方法几乎没有问题.我在下面列出了它们:
Ember-CLI-Deploy倡导的Lightening部署方法的变化方法如下:
5.对于SEO需求+确保您的index.html不缓存,请执行以下操作:
关于nginx设置,我可以提供更多详细信息,只需留言即可.已经很难学会了.
一旦云前端分发更新.使您的云端缓存无效一次,使其处于原始模式.点击浏览器中的网址,一切都应该是好的.
好吧,我很接近。事实证明,正确的方法是:
http://my-bucket.s3-website-us-east-1.amazonaws.com/#/elephants/5
我尝试过各种方法,但没有一个是精确的 a #with no !,并且被 包围/。相关阅读是现场文档
值得注意的是,我正在使用:
App.Router.reopen({
location: 'auto'
});
Run Code Online (Sandbox Code Playgroud)
另外,我在静态网站托管RoutingRules下使用以下内容
<RoutingRules>
<RoutingRule>
<Condition>
<HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals>
</Condition>
<Redirect>
<HostName>my-bucket.s3-website-us-east-1.amazonaws.com</HostName>
<ReplaceKeyPrefixWith>#/</ReplaceKeyPrefixWith>
</Redirect>
</RoutingRule>
</RoutingRules>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1202 次 |
| 最近记录: |