You need to enable JavaScript to run this app. 如何在Apache子文件夹环境中正确维护相对URL路径?
优惠活动
大模型
产品
解决方案
定价
更多

如何在Apache子文件夹环境中正确维护相对URL路径?

解决方案

可以通过Apache的mod_rewrite规则实现需求,无需修改站点源码,也不会影响主站的正常访问,操作步骤如下:

  1. 进入Apache主机的public_html根目录,新建/编辑.htaccess文件
  2. 将以下规则写入文件:
RewriteEngine On

# 仅当根目录下不存在请求的文件/目录时,才执行后续检查
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 检查/game目录下是否存在对应的请求资源
RewriteCond %{DOCUMENT_ROOT}/game%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}/game%{REQUEST_URI} -d
# 内部重写请求到/game目录下,无外部跳转,地址栏保持不变
RewriteRule ^(.*)$ /game/$1 [L]
  1. 如果需要直接访问dev.mydomain.com时自动打开game站点的首页,可在上述规则上方额外添加一条规则:
RewriteRule ^$ /game/ [L]

规则说明

  • 只有主站根目录不存在对应资源时,才会匹配game目录下的内容,主站原有功能完全不受影响
  • 资源请求为内部重写,不会产生301/302跳转,性能不受影响
  • 如果game目录下也不存在对应资源,会正常返回404状态码,符合预期

注意事项

  • 需确保Apache已经开启mod_rewrite模块,且允许根目录加载.htaccess配置(绝大多数虚拟主机默认已开启该配置)
  • 若game目录内本身存在.htaccess配置(如前端SPA的history模式路由规则),无需修改,上述根目录规则不会与其冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.19 06:15:09