在页面刷新时使用Angular JS ui.router html5Mode(true)配置Amazon S3静态站点

Tui*_*noe 13 html5 amazon-s3 angularjs angular-ui-router

如何配置Amazon S3静态网页以正确路由Angular ui.router html5Mode路由?在页面刷新时,它将请求不存在的文件,而angular不能处理它.在文档中,他们建议您更改服务器上的URL重写.

https://github.com/angular-ui/ui-router/wiki/Frequently-Asked-Questions#how-to-configure-your-server-to-work-with-html5mode

但是,S3是存储,并且不提供我尝试使用内置重定向规则的相同重定向选项,例如

<RoutingRules>
    <RoutingRule>
        <Condition>
            <HttpErrorCodeReturnedEquals>404</HttpErrorCodeReturnedEquals >
        </Condition>
        <Redirect>
             <HostName>[[ your application's domain name ]]</HostName>
             <ReplaceKeyPrefixWith>#/</ReplaceKeyPrefixWith>
        </Redirect>
    </RoutingRule>
</RoutingRules>
Run Code Online (Sandbox Code Playgroud)

但是,这只会导致重定向循环.

有什么建议?

Tui*_*noe 0

基本上有 3 个选项,使用 EC2 实例对配置的 HTML5 路由执行实际服务器重写,或者像 dnozay 建议的那样,使用回退模式并重写请求以使用 #! 哈希邦。最后,您可以只使用标准的角度路线,这是我选择的选项。麻烦更少,当 Angular 2.0 推出时,您可以更新到它。

/sf/answers/1181406201/

这里并没有真正解决路由问题。