我有一个问题,当我部署到生产我的项目(Angular 5)。页面之间的导航效果很好,但是当我重新加载页面或直接在浏览器中写入URL时,即使URL确实存在,也会引发错误404。我在{useHash: true}
中添加了app-routing.module.ts
,但它运行正常,但它也添加了(#)作为网址的一部分。
即。 http://myUrl.com/#/login/
我希望能够重新加载页面或直接编写URL而不使用哈希(#)
答案 0 :(得分:0)
您使用的是哪个网络服务器?
我们的应用在使用nginx发布时遇到了同样的问题
我们必须将nginx的配置更改为以下内容以允许重新加载:
server {
listen 80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
try_files $uri$args $uri$args/ $uri $uri/ /index.html =404;
}
其中重要的部分是try_files部分,他试图匹配路线,如果他找不到,则默认为404