You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular14部署Apache后路由报File Not Found问题排查

问题排查与修复方案

1. Base href 拼写错误

你的应用部署在/var/www/game_sites/public_html/test目录,但base href设置为<base href="/teste/">,多了一个字母e,这会导致Angular加载资源时路径错误,直接修正为:

<base href="/test/">

2. .htaccess 文件位置错误

你把.htaccess放在了public_html根目录,但你的Angular应用在test子目录下,应该将.htaccess移动到/var/www/game_sites/public_html/test目录中,这样规则才会作用于你的应用路径。

3. Rewrite 规则语法错误

原规则最后一行RewriteRule ^/index.html语法不完整,正确的规则应该匹配所有不存在的资源,重写到当前目录下的index.html。修正后的.htaccess内容如下:

RewriteEngine On
# 如果请求的是存在的文件或目录,直接访问
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
# 如果资源不存在,重写到index.html
RewriteRule ^ index.html [L]

说明:%{REQUEST_FILENAME}会自动结合当前目录路径,不需要手动拼接%{DOCUMENT_ROOT},更适合子目录部署场景。

4. 额外检查项

  • 确保Apache开启了mod_rewrite模块,可通过sudo a2enmod rewrite启用,然后重启Apache服务。
  • 检查Apache的站点配置文件(比如000-default.conf),确保AllowOverride All设置在/var/www/game_sites/public_html/test对应的<Directory>块中,否则.htaccess规则不会生效。

内容的提问来源于stack exchange,提问作者CodeTzu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 04:01:13