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

Laravel 9部署Plesk虚拟主机仅首页可用,其余路由失效

Laravel 9在Plesk虚拟主机路由404问题解决

Apache环境处理方案

  • 确认项目public目录下的.htaccess文件存在,内容需为Laravel默认的重写规则:
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Send Requests To Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>
  • 登录Plesk控制面板,进入对应域名的主机设置,找到Apache & nginx设置:
    • 勾选“允许使用.htaccess文件”(或类似启用mod_rewrite的选项)
    • 在附加Apache指令框中添加:AllowOverride All
  • 保存设置后,重启Apache服务(可在Plesk的「工具与设置>服务管理」中操作)

Nginx环境处理方案

如果你的Plesk服务器用Nginx做反向代理,需要配置Nginx重写规则:

  • 进入域名的Apache & nginx设置,在附加Nginx指令框中添加:
location / {
    try_files $uri $uri/ /index.php?$query_string;
}
  • 保存设置后重启Nginx服务

额外检查项

  • 确认项目的storage和bootstrap/cache目录权限正确,服务器运行用户(如www-data、apache)需有读写权限:
    • 可通过Plesk文件管理器修改权限,或SSH执行命令:
chmod -R 755 storage bootstrap/cache
chown -R [服务器用户]:[服务器用户组] storage bootstrap/cache
  • 核对routes/web.php里的路由定义,确保没有拼写或语法错误

内容的提问来源于stack exchange,提问作者Khaldoun Al Halabi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 05:31:35