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

.htaccess在线校验正常但部署到Apache服务器返回404求助

排查解决步骤

  • 先确认Apache rewrite模块已启用
    执行以下命令启用模块并重启Apache:
    a2enmod rewrite
    systemctl restart apache2
    
    很多默认安装的Apache没有自动开启rewrite模块,会导致所有重写规则不生效。
  • 禁用MultiViews选项
    将000-default.conf(以及子域名对应的虚拟主机配置)里的Options行修改为:
    Options Indexes FollowSymLinks
    
    MultiViews是Apache的内容协商功能,会在匹配到api前缀时自动查找同名的文件/目录,优先级高于rewrite规则,会直接跳过规则匹配返回404。
  • 确认子域名虚拟主机的目录配置
    如果你为子域名单独配置了虚拟主机,需要确认子域名对应的站点根目录的块配置:
    1. 站点根目录路径是否正确,比如子域名根目录如果是/var/www/subdomain,需要单独针对该路径配置块
    2. 对应块内的AllowOverride All配置是否生效,没有被其他规则覆盖
  • 校验.htaccess文件本身的有效性
    执行ls -a /var/www/你的站点根目录确认文件名为.htaccess,没有额外后缀,文件权限设置为644,属主为www-data,避免权限不足导致Apache无法读取配置。
  • 确认重写目标路径存在
    检查站点根目录下是否存在api目录,目录内是否存在index.php文件,且该文件的读权限正常,避免重写后目标文件不存在返回404。
  • 开启重写日志定位问题
    若以上步骤都无效,可以在Apache配置中添加以下参数开启重写日志:
    LogLevel alert rewrite:trace3
    
    重启Apache后访问报错地址,查看/var/log/apache2/error.log中的重写匹配日志,就能明确看到规则是否被触发、重写后的路径是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 12:09:02