Slim框架如何移除URL路径中的public文件夹前缀
解决方案
你需要同时调整根目录和public目录下的.htaccess文件,适配/api子目录的部署场景,修改内容如下:
1. 根目录.htaccess(替换原有全部内容)
RewriteEngine on RewriteBase /api/ RewriteCond %{REQUEST_URI} !/public/ RewriteRule ^(.*)$ public/$1 [L]
2. public目录下的.htaccess(修改原有内容)
取消原有RewriteBase行的注释,修改为对应子目录路径即可:
# Redirect to front controller RewriteEngine On RewriteBase /api/public/ RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L]
规则生效验证
.htaccess为Apache动态加载规则,修改完成后无需重启服务,直接访问https://my-domain.com/api/pins即可正常获取原/api/public/pins路径下的内容。
内容的提问来源于stack exchange,提问作者NM Naufaldo
相关产品推荐
相关产品推荐

