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

使用.htaccess实现URL带子目录但显示根站内容(WordPress场景)

解决WordPress访问子目录展示根首页内容且地址栏不变的问题

针对你的需求——访问mydomain.com/directory时展示根目录首页内容,同时地址栏保持不变,且无需迁移站点到子目录,可以通过修改.htaccess文件实现,以下是具体方案:

核心规则配置

将以下Rewrite规则添加到WordPress默认Rewrite规则之前(顺序很重要,确保优先执行):

RewriteEngine On
# 匹配 /directory 和 /directory/ 路径,转发到根首页,地址栏不变
RewriteRule ^directory/?$ /index.php [L,NC,QSA]

保留WordPress自带的Rewrite规则(通常在.htaccess文件下方):

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

规则说明

  • ^directory/?$:精准匹配/directory和带斜杠的/directory/两种访问路径
  • [L,NC,QSA]:
    • L:标记为最后执行的规则,避免后续规则干扰
    • NC:不区分大小写,兼容不同大小写的访问路径
    • QSA:保留原请求的查询字符串(比如/directory?query=1这类参数会被传递到首页)

针对根URL的扩展处理

如果希望访问根域名mydomain.com时,也能自动映射到/directory路径(地址栏变为/directory,同时展示根首页内容),可以添加额外规则:

# 根URL跳转至 /directory,地址栏更新
RewriteRule ^$ /directory [R=301,L]

注意:这条规则要放在之前的directory转发规则之前,确保先跳转再转发内容。

注意事项

  1. 修改.htaccess前请备份原文件,避免配置错误导致站点无法访问
  2. 清除WordPress缓存(如果使用了缓存插件)和浏览器缓存,确保规则立即生效
  3. 确认服务器已启用mod_rewrite模块(WordPress通常依赖此模块,若未启用需联系主机商开启)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 01:54:55