我正在码头容器中运行我的Angualar7应用程序。它在本地运行很好,但当我在码头运行时。它可以到达abc.xyz,从那里我可以通过点击主页实现Gotoabc.xyz/仪表板、abc.xyz/browseIdea。但是,当我像abc.xyz/仪表板那样直接点击url时,它显示的是404没有找到。
1.我需要改变nginx的配置吗?
为了解决这个问题,我添加了哈希路由。
@NgModule({
imports: [RouterModule.forRoot(routes,{useHash : true})],
exports: [RouterModule]
})因此,它解决了404未找到的问题,但它在abc.xyz/#/dashboard url中进行刷新,重定向到abc.xyz/#。在散列后将不发送到服务器url。那么,我们不能使用哈希路由仅用于组件路由吗?
而且,如果我在刷新时删除本地主机中的散列表,它将停留在我刷新的同一个url中。
发布于 2019-02-27 05:46:34
如果不想使用哈希路由策略,那么应该配置服务器并将请求定向到应用程序的index.html。在.htaccess中添加以下代码
RewriteEngine On
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.htmlhttps://stackoverflow.com/questions/54898638
复制相似问题