华夏名网虚拟主机.htaccess 500_display_errors与日志
很多站长遇到 .htaccess 500 就重启服务器或改权限,结果没解决。500 是程序内部错误,重启只能解决进程崩溃类问题,代码错误重启没用。正确做法是看日志,日志里写得很清楚:Parse error 是语法错,Fatal error 是致命错,database error 是数据库连不上。
权限和资源问题:PHP 文件权限 644、目录 755、属主正确,PHP 无法读取文件会 500;session 目录不可写导致登录 500;上传目录不可写导致上传 500;磁盘满导致无法写日志和临时文件 500(df -h 看磁盘);内存不足导致 PHP 进程被 kill(free -m 看内存,dmesg 看 OOM)。
参考(.htaccess常见500错误): ``` # 错误1:mod_rewrite未开启就用RewriteRule # 解决:确认Apache加载了mod_rewrite,或注释Rewrite规则
# 错误2:错误的指令拼写 # AddType写成AddTypee,Options写错等
# 错误3:不支持的指令(虚拟主机禁用了某些指令) # 解决:联系客服或删除该指令
# 正确的伪静态示例(ThinkPHP)
# 排查方法:逐行注释,找到导致500的行 ```
预防 500:代码上线前在测试环境验证、修改配置前备份、开启 PHP 错误日志监控、定期检查磁盘和内存使用率、PHP 版本升级前测试兼容性、依赖扩展确认已安装。500 大多是可预防的,变更流程规范能减少 80% 的 500 故障。
Nginx 500 专项:Nginx 500 大多是 PHP-FPM 返回的错误。看 /var/log/php-fpm/error.log 和网站的 PHP 错误日志。PHP-FPM 未启动会返回 502 不是 500,注意区分。fastcgi 配置错误(脚本路径不对)也会 500,检查 fastcgi_param SCRIPT_FILENAME。

更新时间:2026-09-03 15:16:31
上一篇:Apache .htaccess伪静态规则写法_Apache常用程序伪静态规则教程详解