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

Slim 3移除URL中/public/路径的方法求助

解决Slim 3网站需通过/public/访问的问题

我之前部署Slim 3项目时也碰到过完全一样的问题,给你几个按优先级排序的解决思路,一步步试下来应该能搞定:

  • 优先检查服务器根目录配置
    这是最常见的核心原因:托管服务器默认会把你的网站根目录指向项目的顶层文件夹,而不是Slim要求的public目录。你需要登录主机管理后台(比如cPanel、Plesk),找到对应域名的「文档根目录」设置,把路径修改为项目下的public文件夹(比如你的项目放在public_html/my-slim-site,就把文档根设为public_html/my-slim-site/public)。改完这个,大部分情况下不用动.htaccess就能直接通过site.com访问了。

  • 如果无法修改服务器根目录,添加根目录.htaccess转发
    有些共享主机可能限制修改文档根,这时候在项目的顶层目录(public的父文件夹)新建一个.htaccess文件,写入以下内容:

    RewriteEngine On
    # 把根路径转发到public
    RewriteRule ^$ public/ [L]
    # 把所有非public开头的请求转发到public下
    RewriteCond %{REQUEST_URI} !^/public/
    RewriteRule ^(.*)$ public/$1 [L]
    

    保留public目录里原有的.htaccess不变,这样用户访问site.com时,请求会被透明转发到public目录,地址栏不会显示/public/。

  • 确认服务器支持.htaccess和mod_rewrite
    确保你的主机Apache配置中,针对网站目录的AllowOverride设置为All(如果是共享主机,一般默认开启,若没开需要联系主机商调整);同时确认mod_rewrite模块已经启用,这个模块是URL重写的基础,大部分主流主机都会默认开启。

  • 验证方式
    改完设置后,记得清除浏览器缓存,用无痕模式访问site.com,检查是否正常加载页面,同时查看地址栏是否没有/public/后缀。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:42:32