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

Apache下通过.htaccess隐藏URL跳转后子目录路径的咨询

解决根目录URL不变加载子目录内容的.htaccess配置

你之前的配置用了R=301这个外部重定向标记,所以浏览器地址栏会显示重定向后的/gmcomputers/路径。要实现URL不变但加载子目录内容,需要改成内部重写,修改后的代码如下:

RewriteEngine On
# 只匹配根目录的请求
RewriteCond %{REQUEST_URI} ^/$
# 内部重写到子目录,不修改浏览器URL
RewriteRule ^ /gmcomputers/ [L,DPI]

关键修改说明:

  • 移除R=301:这个标记会触发浏览器跳转,地址栏URL随之改变;去掉后Apache会在服务器内部加载子目录内容,浏览器完全感知不到。
  • 保留RewriteCond %{REQUEST_URI} ^/$:确保仅处理根目录的请求,不会干扰根目录下其他网站的正常访问。
  • [L,DPI]:L表示这是最后执行的规则,避免后续规则干扰;DPI用来正确处理路径信息,防止子目录内的链接出现路径错误。

测试注意事项:

  1. 先清除浏览器缓存:之前的301重定向会被浏览器缓存,直接测试可能看不到效果。
  2. 检查子目录的.htaccess:如果/gmcomputers/下有自己的.htaccess,确保里面的规则不会和根目录的规则冲突。
  3. 规则顺序:把这段代码放在根目录.htaccess的最前面,避免被其他Rewrite规则覆盖。

内容的提问来源于stack exchange,提问作者Mark de Wet

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 18:06:16