404 - 找不到文件或目录。您要查找的资源可能已被删除或重命名

404 - File or directory not found. The resource you are looking for may have been deleted or renamed

我用 .net 和 angular 5 开发了一个应用程序。 我在服务器上发布应用,应用是运行, 但问题是当我刷新应用程序时,它显示问题 404! 如何纠正这个问题?是服务器问题还是我的代码有问题?

404 - File or directory not found.
The resource you are looking for may have been deleted or renamed, or is temporarily unavailable.

问题出在您的部署上。添加 --base-href="./" 到您的构建参数,假设您使用 Angular-Cli.

进行部署

一种方法是 运行 命令 - ng build --prod --base-href="./"

另一种方法(推荐)是在您的 angular.json 文件中配置它。

{
  ...
  "projects": {
    "my-project": {
      ...
      "architect": {
        "build": {
          ...
          "options": {
            ...
            "baseHref": "./",
            ...
          }

您需要将服务器配置为 return 至 index.html

的别名!您可以通过将 useHash 设置为 true

来解决这个问题

RouterModule.forRoot(routes, { useHash: true })

这启用了 hashLocationStrategy