Laravel项目部署遇500内部服务器错误,疑为.htaccess配置问题
解决Laravel部署时的500内部服务器错误(.htaccess配置问题)
兄弟,我完全懂你这种点链接就跳500的崩溃感——结合你的目录结构来看,问题确实大概率出在.htaccess的配置上。你的网站根目录指向/raidsystem/public_html/,但Laravel项目却放在同级的/raidsystem/lsapp/里,而Laravel的默认入口是项目内的public/index.php,默认的.htaccess根本找不到正确的入口文件,自然就报500了。
咱们一步步来调整:
第一步:先备份现有文件
先把public_html目录里的.htaccess复制一份存好,万一改坏了还能恢复,这个习惯一定要保持。第二步:替换为正确的
.htaccess配置
把public_html里的.htaccess内容替换成下面的代码:<IfModule mod_rewrite.c> RewriteEngine On # 将所有请求转发到Laravel项目的public入口文件 RewriteRule ^(.*)$ ../lsapp/public/index.php/$1 [L] </IfModule>这段规则的作用是把所有访问
public_html的请求,都转发到同级的lsapp/public/index.php,也就是Laravel的标准入口。第三步:检查文件权限(很容易忽略的点)
500错误也可能是权限不足导致的,你需要确保Laravel项目的这两个目录有可写权限:lsapp/storagelsapp/bootstrap/cache
一般设置权限为755(目录)和644(文件)就可以,如果服务器用户组配置特殊,也可以试试775,但别用777(不安全)。
第四步:验证配置与排查其他可能
保存.htaccess后刷新页面,测试之前出错的链接。如果还是报500,建议去看服务器的错误日志(比如Apache的error.log),里面会有具体的错误信息——比如是不是mod_rewrite模块没启用?如果是Apache的话,你可以通过a2enmod rewrite命令启用模块,然后重启Apache服务。
内容的提问来源于stack exchange,提问作者Jonas
相关产品推荐
相关产品推荐

