我正在使用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]
请帮助我解决此问题。 谢谢
答案 0 :(得分:0)
这是SPA(单页应用程序)的常见问题。
基本上,因为这是SPA,所以只有一页,即index.html
您必须将产品服务器配置为始终提供index.html,而不管当前的路由/ URL如何。 Angular开发服务器可以做到这一点。
我希望您刷新时会得到404,因为它找不到/ yoururl-默认情况下,它将在/yoururl/index.html中查找文件,这显然是完全错误的。>
我从未在ubuntu服务器上完成此操作,因此我无法为您提供配置帮助,但至少现在您知道问题所在以及如何进行研究了。