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

React配合Apache部署后输入路由或刷新报404如何解决?

解决React+Apache部署后直接访问路由/刷新404问题

按以下步骤依次排查配置:


1. 开启Apache rewrite模块

执行命令开启重写模块,之后重启Apache服务:

a2enmod rewrite
systemctl restart apache2

2. 允许站点目录读取.htaccess配置

编辑你的Apache站点配置文件(通常路径为/etc/apache2/sites-available/000-default.conf),在配置中添加/修改对应目录的权限规则:

<Directory /var/www/html/client>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Require all granted
</Directory>

修改完成后重启Apache生效。

3. 修正.htaccess配置

因为你的应用部署在/client子目录下,原配置的根路径匹配错误,将/var/www/html/client/.htaccess内容替换为如下:

RewriteEngine On
RewriteBase /client/
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /client/index.html [L]

4. 修正React打包和路由配置

  • 在项目package.json中添加配置项:"homepage": "/client"
  • 在App.js的路由外层BrowserRouter组件添加basename属性:
<BrowserRouter basename="/client">
  {/* 你原有Switch和Route的代码 */}
</BrowserRouter>

重新打包项目后将产物部署到/var/www/html/client目录。

5. 验证配置

清理浏览器缓存,重启Apache服务后再次测试直接访问路由、刷新路由场景即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 07:45:06