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

Apache .htaccess 多级目录重写异常问题求助

解决方案

你的问题出在当前规则里的RewriteCond %{REQUEST_FILENAME} !-f和!-d条件——这两个条件会让服务器在检测到请求的文件/目录存在时,直接跳过重写逻辑。比如请求domain.com/example1/web/image.jpg时,服务器发现/docroot/example1/web/image.jpg存在,就直接返回这个文件,不会执行重写到web/web/image.jpg的规则。

调整后的.htaccess规则如下(文件仍放在/docroot/example1/目录下):

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_HOST} ^(www\.)?domain\.com$
RewriteRule ^(.*)$ web/$1 [L,QSA]
</IfModule>

规则说明:

  • 去掉了多余的存在性检查和无效的REQUEST_URI判断,强制将所有domain.com/example1/下的请求,都映射到web/子目录对应的路径上:
    • 请求domain.com/example1/image.jpg → 实际获取/docroot/example1/web/image.jpg
    • 请求domain.com/example1/web/image.jpg → 实际获取/docroot/example1/web/web/image.jpg
  • [L,QSA]标记确保重写后停止后续规则,并保留原请求的查询参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 11:43:18