Godaddy Linux主机部署FlightAirMap时.htaccess rewrite规则引发500错误求解
问题排查与解决方案
核心错误原因
你混淆了Apache全局/虚拟主机配置与.htaccess文件的使用规则:DocumentRoot、<Directory>这类指令只能写在Apache主配置文件或者虚拟主机专属配置文件中,禁止放入.htaccess文件,这是你添加规则后直接返回500内部错误的根本原因。
路径配置修正
你下载的代码中没有htdocs目录属于正常情况,仅旧版本的项目结构会把可公开访问的文件放在htdocs子目录,新版本直接将入口文件放在项目根目录,按你实际的文件存放路径调整配置即可。
正确的.htaccess配置
你当前将项目文件存放在域名根目录的flightairmap子目录下,只需在flightairmap目录下创建.htaccess文件,写入以下内容即可:
RewriteEngine On RewriteBase /flightairmap/ RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?$1 [L]
如果你后续要将该站点作为域名根目录站点运行,直接把项目内所有文件移动到域名对应的根目录,将上述配置中的RewriteBase值改为/即可。
剩余问题排查
- 确认你使用的Godaddy主机对应站点的配置已经开启
AllowOverride All,旗舰版Linux主机默认已开启该配置,如有疑问可联系主机运营商确认 - 调整配置后如果访问
/install/index.php仍然报错,可在主机面板开启PHP错误显示,或者查看站点PHP错误日志定位具体问题,报错大概率为目录权限不足、缺少指定PHP扩展两类问题,按报错提示补全对应配置即可。
内容的提问来源于stack exchange,提问作者Andrew Wardlaw
相关产品推荐
相关产品推荐

