Angular 6-在路径下发布不适用于直接链接

时间:2018-08-08 10:59:03

标签: angular angular6 angular-routing

我有一个Angular 6应用,在开发时可以很好地工作。导航到不同的路线效果很好。当我使用ng serve -o时,我可以打开浏览器,然后转到http://localhost:4200正常工作...如果在主页上单击登录,我将转到http://localhost:4200/login ...一切都很好。即使我没有单击宽大按钮,而是在浏览器http://localhost:4200/login或任何其他路径中输入,它也能正常工作。

现在,我必须在以下路径下发布此应用:http://example.com/mypath。我使用以下命令构建此文件:ng build --prod --build-optimizer --base-href=/mypath/,将其放到服务器上,如果我使用应用程序中的链接导航到不同的路线,那么一切都很好。

问题是,如果我在浏览器中输入直接网址,例如:http://example.com/mypath/login,那么它将无法正常工作。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

将此配置添加到.htaccess中以获取apache或添加useHAsh属性以进行路由

RewriteEngine On
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]

RewriteRule ^ /index.html