我建立了一个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"