在服务器上部署页面重新加载后,在角度6中找不到404

时间:2018-11-23 06:02:14

标签: routing angular6

我的angular中有一条名为/ explore的路线。当我在本地运行时,如果我导航到该路线,则显示的确有效,如果我重新加载,它也会重新加载。我在ubuntu 16.04服务器上部署了相同的代码,并使用http-server运行它。问题是,如果我单击确实导航的路线,但是如果我重新加载页面,则显示“ 404-未找到页面”。 。我发现一个简单的解决方法是使用“ HashLocationStrategy”,但它在URL中添加了#。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

如果尚未将.htaccess文件添加到Web服务器的根文件夹(这是您部署应用程序的文件夹),则其内容如下:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

这里发生的是您要求网络服务器返回错误(例如404错误)的index.html。然后,Angular将接管并使用您在Angular中设置的路线。 我希望这会有所帮助,但是如果没有请告诉我。