Maj*_*NWL 1 production-environment angular-cli angular
我开发了一个angular2网站,在其中实现了angular2路由,并在生产环境中构建了该网站,然后部署了该网站,现在当我从其基本URL(即http://urlblocker.net/spotify)打开该网站时,它可以正常工作。但是当我导航到任何其他页面并刷新该页面(例如http://urlblocker.net/spotify/about)时,会出现以下错误。
“找不到,在此服务器上找不到请求的URL / spotify / artist / 0C8ZW7ezQVs4URX5aX7Kqx。此外,尝试使用ErrorDocument处理请求时遇到了404 Not Found错误。”
如果我只是打开有关页面URL的信息,也会出现相同的错误。如何解决呢???
Angular2 SPA期望该应用程序有1个单一入口点。如果不使用哈希定位策略,则对不是入口点的“页面”进行任何刷新都会导致404(该页面在服务器上不存在)。
解决此问题的一种方法是使用HashLocationStrategy作为app.module中的提供者
providers: [
{provide: LocationStrategy, useClass: HashLocationStrategy},
...
]
Run Code Online (Sandbox Code Playgroud)
另外,请确保/的索引文件中具有基本href,并且app.module中的import语句需要包含
import {HashLocationStrategy, LocationStrategy} from "@angular/common";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1952 次 |
| 最近记录: |