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

.htaccess配置重定向到public后同级app目录API无法访问求助

问题根因

你当前的重写规则会把所有路径中不包含public/前缀的请求全部转发到public/目录下匹配,所以当你请求/app/xxx路径的接口时,请求会被转发到public/app/xxx,找不到对应资源导致接口失效。

修复后的.htaccess配置

RewriteEngine On

# 新增规则:匹配到app目录开头的请求直接终止重写,正常访问资源
RewriteRule ^app/ - [L,NC]

RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]

规则说明

  • 新增的排除规则优先级最高,^app/匹配所有以app目录开头的请求,-代表不做路径重写,L代表匹配到这条规则后就不再执行后续的重写逻辑,NC代表匹配时不区分大小写
  • 原有站点默认指向public目录的逻辑完全保留,不会影响前端页面、静态资源的正常访问
  • 如果你后续还有其他和public同级的目录需要开放访问,参照新增规则的格式添加对应目录的排除规则即可,比如需要开放storage/目录就新增一行RewriteRule ^storage/ - [L,NC]

优化建议

等你确认所有规则都运行正常后,可以将R=302修改为R=301,将临时重定向改为永久重定向,降低搜索引擎抓取和用户访问的重定向开销。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 14:15:03