Angular 6-刷新页面后不显示页面

时间:2018-09-06 12:52:41

标签: angular

我正在使用Angular6。我的应用程序在本地运行良好。我已经使用ng build构建了代码。我正在使用Ubuntu服务器。我已将代码上传到服务器,并且页面也正在加载。

但是当我刷新页面时,出现以下错误。

您要查找的资源已被删除,名称已更改或暂时不可用。

我粘贴了index.html代码。

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>WAF</title>
  <base href="/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
  <link rel="icon" type="image/x-icon" href="assets/images/favicon.png">
</head>
<body>
  <app-root></app-root>
</body>
</html>

并尝试也使用.htaccess文件。遇到同样的问题。

RewriteEngine On 
Options FollowSymLinks

RewriteBase /

RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} ^/(.*)$
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /#/$1 [L]

请帮助我解决此问题。 谢谢

1 个答案:

答案 0 :(得分:0)

这是SPA(单页应用程序)的常见问题。

基本上,因为这是SPA,所以只有一页,即index.html

您必须将产品服务器配置为始终提供index.html,而不管当前的路由/ URL如何。 Angular开发服务器可以做到这一点。

我希望您刷新时会得到404,因为它找不到/ yoururl-默认情况下,它将在/yoururl/index.html中查找文件,这显然是完全错误的。

我从未在ubuntu服务器上完成此操作,因此我无法为您提供配置帮助,但至少现在您知道问题所在以及如何进行研究了。