【问题标题】:Angular2 not loading when directly browsed to route address or on refresh直接浏览到路由地址或刷新时Angular2不加载
【发布时间】:2016-12-27 19:27:33
【问题描述】:

在应用程序中定义了一个路由:

const routes: Routes = [
  { path: '', component: MainComponent },
  { path: 'users', component: UsersComponent }
]

在 index.html 中,基本 href 也已正确定义。

<base href="/">

在应用程序中导航时,路线已正确加载。 但是当用户直接通过浏览器输入.../users时,应用程序没有加载并返回404。而且当用户刷新网页(F5)时,应用程序也没有加载。

角码或服务器配置有问题吗?

【问题讨论】:

  • 你的意思是什么当通过应用程序导航时,路线被正确加载。 ?
  • 您可能正在寻找 like this 的内容。你的服务器配置是什么?
  • 谢谢!

标签: angular angular2-routing


【解决方案1】:

这取决于您的服务器设置。 当发生 404 时,您需要设置重定向到 index.html

或者设置一个rewrite,让某个路径之后的每个请求总是指向index.html

或者只是将位置策略更改为散列而不是 HTML5(尽管出于一些原因,我不建议这样做,正如彼得所说)。

【讨论】:

  • 正确答案 - 但不推荐使用哈希策略 - 因为它消除了服务器端渲染的一些可能性(这对搜索引擎等很重要)
猜你喜欢
  • 2015-01-15
  • 1970-01-01
  • 1970-01-01
  • 2017-05-20
  • 1970-01-01
  • 2018-10-16
  • 2017-05-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多