首页 > 解决方案 > 服务器上的页面刷新问题(404) - Angular

问题描述

我建立了一个 Angular 项目。它在我的本地机器上工作正常,但在服务器上,每当我在一些深度路由上刷新我的页面时,它都会给我一个 404 错误。

构建后,我对 进行了更改index.html,我更改<base href="/"><base href="myWebsiteLink">

我在这里找到了解决这个问题的方法,他们说在Angular 项目.htaccess的文件夹中创建一个文件并更新文件中的数组。我做了同样的事情,但是当我在服务器上点击刷新时问题仍然存在。srcassetsangular.json

这是我的.htaccess文件内容:

RewriteEngine On 
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]

# If the requested resource doesn't exist, use index.html
RewriteRule ^ /index.html

angular.json中,我对对象中的assets数组进行了build如下更改:

"build": {
   "builder": "@angular-devkit/build-angular:browser",
   "options": {
      "outputPath": "dist",
      "index": "src/index.html",
      "main": "src/main.ts",
      "tsConfig": "src/tsconfig.app.json",
      "polyfills": "src/polyfills.ts",
      "assets": [
         "src/assets",
         "src/.htaccess"
        ],
        ....
        ....
    }

现在,在构建构建之后,在dist文件夹中,该.htaccess文件显示给我。我使用 FileZilla 将所有这些文件粘贴到服务器上。

页面刷新问题仍在发生。它仍然在抛出 404。

如果有人有答案,请帮助我。谢谢。

标签: angular.htaccessserverbuild

解决方案


推荐阅读