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

Docker容器部署Apache PHP应用启用.htaccess重写规则报内部服务器错误

问题原因排查与解决方案

1. 修复.htaccess语法错误

你的.htaccess文件中RewriteCond %{REQUEST_FILENAME} !-f 行末尾多了无效的ls字符,属于重写规则语法错误,是触发500内部服务器错误的直接原因。
修正后的.htaccess内容如下:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteRule ^ index.php [QSA,L]  
</IfModule>

2. 修正Apache虚拟主机配置

你当前的虚拟主机配置仅开放了目录访问权限,没有开启.htaccess文件读取权限,Apache默认会忽略站点目录下的.htaccess文件,需要在Directory配置段添加AllowOverride All指令:
修正后的default.conf内容:

<Directory /var/www/html>
        Require all granted
        AllowOverride All
</Directory>

建议将路径精准匹配到站点根目录/var/www/html,避免不必要的权限开放

3. 验证配置生效

修改完成后可先进入容器执行Apache配置语法检测命令,确认配置无错误:
docker exec -it php_apache apache2ctl configtest
输出Syntax OK就代表配置正常,重启PHP容器即可生效:
docker-compose restart php

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.16 00:06:07