当前位置: 首页 > 面试题库 >

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

吕宇定
2023-03-14
问题内容

如何配置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>

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

有什么建议?


问题答案:

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

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



 类似资料:
  • 似乎$state.go('statename')就像浏览器中的后退按钮一样工作。缓存类型。 当状态发生变化时,我需要刷新页面,例如单击浏览器中的刷新按钮。 当状态改变时,我需要重新加载/刷新整个页面,基本上是重新初始化控制器。 已尝试使用$state。go('statename',{},{重新加载:true}),但没有效果。 我们将不胜感激

  • 问题内容: 如何定期使用PHP刷新页面?如果我用PHP无法做到这一点,那么最好的推荐方案是什么? 问题答案: 您可以使用PHP来做到这一点: 它会刷新您的当前页面,如果需要将其重定向到另一个页面,请使用以下命令:

  • 我在AWS/S3上与其他域名注册商建立了许多静态站点;然而,谷歌域名给了我一些问题。我采取的步骤: 在S3/AWS上: > 已创建桶domainname.org 通过添加index.html启用静态网站托管 已将index.html和相关文档上载到存储桶 创建bucket www.domainname.org以重定向到bucket domainname.org创建domainname.org的bu

  • 在页面上,我有一个复选框,它启用/禁用h:inputtext和h:selectonemenu。在我刷新页面之前,这很好用。checkbox的值可能由浏览器缓存。 因此,当刷新后将复选框设置为“true”时,两个控件都将启用。selectOneMenu对应于init()方法中设置的值呈现,但selectBooleanCheckbox和inputText不是。我该怎么解决呢?我使用火狐浏览器。 Bac

  • 我的应用程序使用Firebase API进行用户身份验证,将登录状态保存为Vuex状态下的布尔值。 当用户登录时,我设置登录状态并相应地有条件地显示登录/注销按钮。 但是当页面刷新时,vue应用的状态丢失并重置为默认 这会导致一个问题,即使用户登录并刷新页面,登录状态也会被设置为false,并且显示登录按钮而不是注销按钮,即使用户保持登录状态... 我该怎么做才能防止这种行为 我应该使用cooki