服务器上的页面刷新问题(404) - Angular

0 人关注

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

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

在这里 找到了这个问题的解决方案,他们说在Angular项目的 src 文件夹里做一个 .htaccess 文件,然后在 angular.json 文件里更新 assets 数组。我也这么做了,但当我在服务器上点击刷新时,问题仍然存在。

以下是我在 .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 ,我对build 对象中的assets 数组做了如下修改。

"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"