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

绑定域名后PHP MVC项目菜单跳转出现内部服务器错误求助

问题诊断与解决方案

核心问题

错误日志中的AH00124提示表明存在无限内部重定向循环,根源在于以下配置错误:

  • 虚拟主机已将DocumentRoot直接指向/var/www/html/project-1/public,根目录的.htaccess完全不会被Apache加载,属于冗余配置。
  • 原public目录的.htaccess中RewriteBase设置错误:当前域名直接映射到public目录,而非子路径/project-1/public,错误的路径导致重定向逻辑混乱。
  • 后续修改public目录的.htaccess时添加了重复重写规则,进一步触发循环。

分步修复

1. 清理根目录冗余配置

直接删除根目录的.htaccess文件(或注释所有内容),因为虚拟主机已将网站根路径指向public,该文件不再生效。

2. 修正public目录的.htaccess

替换为以下正确配置:

<IfModule mod_rewrite.c>
    Options -Multiviews
    RewriteEngine On
    # 域名直接指向public,RewriteBase设为根路径
    RewriteBase /

    # 跳过真实存在的文件和目录
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    # 转发所有请求到index.php并传递URL参数
    RewriteRule ^(.+)$ index.php?url=$1 [QSA,L]
</IfModule>

3. 验证配置并重启Apache

执行命令确保配置无语法错误,然后重启服务:

sudo apache2ctl configtest
sudo systemctl restart apache2

额外检查

  • 确认mod_rewrite模块已启用:执行sudo a2enmod rewrite,若提示已启用则无需操作。
  • 修正目录权限:确保Apache进程有权读取public目录,执行sudo chown -R www-data:www-data /var/www/html/project-1/public。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:47:30