【问题标题】:404 - File or directory not found. The resource you are looking for may have been deleted or renamed404 - 找不到文件或目录。您要查找的资源可能已被删除或重命名
【发布时间】:2019-01-07 08:59:41
【问题描述】:

我用 .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.

【问题讨论】:

  • 你好@adam90!你能提供一个最小的工作示例来说明这个问题吗? stackoverflow.com/help/mcve
  • @Bernard, okey, tnak's

标签: .net angular server publish


【解决方案1】:

您需要配置您的服务器以返回 index.html

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

来解决此问题

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

这启用了 hashLocationStrategy

【讨论】:

    【解决方案2】:

    问题在于您的部署。假设您使用Angular-Cli 进行部署,请将--base-href="./" 添加到您的构建参数中。

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

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

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

    【讨论】:

    • 为此,我这样做:: base href = "/ Portal /" ,对吗?
    • 您在代码中使用relative 路径(例如../../)还是absolute 路径(例如/assets/...)?
    • bb
    • 这在我的 index.html 中
    • 在这种情况下,我的回答对你有用。 base href = "/ Portal /" 是错误的。您可以手动将其更改为<base href="./">,您的应用程序将正常运行。至于再次部署,请使用我的答案。
    猜你喜欢
    • 1970-01-01
    • 2020-07-01
    • 2018-01-05
    • 2016-10-27
    • 2016-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-20
    相关资源
    最近更新 更多