Apache部署前端应用刷新子路由报Not Found 404错误如何解决?
Apache前端应用子路由刷新404问题解决步骤
1. 开启rewrite模块
现有.htaccess规则本身配置正确,首先确认Apache已加载rewrite模块,执行命令检查:httpd -M | grep rewrite
如果无输出说明模块未启用,编辑模块加载配置文件:vi /etc/httpd/conf.modules.d/00-base.conf
找到以下配置项,删除行首的#注释:LoadModule rewrite_module modules/mod_rewrite.so
保存文件后重启Apache服务:systemctl restart httpd
2. 开放.htaccess配置读取权限
CentOS7默认Apache禁止站点目录读取.htaccess配置,编辑主配置文件:vi /etc/httpd/conf/httpd.conf
定位到/var/www/html对应的Directory配置段,将AllowOverride None修改为AllowOverride All,修改后示例如下:
return (<Directory /var/www/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> )
如果配置了单独的虚拟主机,对应修改虚拟主机配置文件内对应站点目录的AllowOverride参数即可。
修改完成后再次重启Apache生效:systemctl restart httpd
3. 权限验证(可选)
如果配置后仍不生效,检查.htaccess文件权限,执行以下命令设置正确的权限与归属:chmod 644 /var/www/html/.htaccesschown apache:apache /var/www/html/.htaccess
配置完成后清空浏览器缓存再次测试子路由刷新即可。
内容的提问来源于stack exchange,提问作者mateo cunha
相关产品推荐
相关产品推荐

