使用 .htaccess 正确配置 WordPress 子目录重定向与路径保留


使用 .htaccess 正确配置 WordPress 子目录重定向与路径保留

本文详细阐述了如何通过修改 `.htaccess` 文件,将主域名流量精确重定向至 wordpress 子目录,并确保原始 url 路径的完整保留。教程涵盖了主域名根目录和子目录 `.htaccess` 文件的关键配置调整,特别是 `rewriterule` 中捕获组 `$1` 的应用,以及子目录 `rewritebase` 和 `rewriterule` 的正确设置,旨在解决重定向后路径丢失的问题。

理解重定向与路径保留的核心问题

在将网站从主域名(例如 example.com)重定向到其子目录(例如 example.com/fr)时,常见的挑战是确保所有子路径(如 example.com/path/to/page)在重定向后能够正确地映射到 example.com/fr/path/to/page,而不是简单地全部重定向到 example.com/fr/。这通常是由于 .htaccess 文件中的 RewriteRule 配置不当,未能正确捕获并传递原始请求的路径信息所致。此外,WordPress 在子目录中运行时,其内部重写规则也需要相应的调整。

主域名根目录 .htaccess 配置

主域名根目录下的 .htaccess 文件负责处理所有进入主域名的请求,并将其重定向到目标子目录。关键在于 RewriteRule 的设置,它必须能够捕获原始请求中的完整路径,并将其附加到新的重定向 URL 中。

原始配置(可能导致路径丢失): 如果您的主域名 .htaccess 文件中的重定向规则类似于以下形式,它将导致所有请求都被重定向到 https://example.com/fr/,而丢失原始路径:

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ https://example.com/fr/ [L,R=301,NC]

上述规则中,重定向目标 https://example.com/fr/ 缺少了对原始请求路径的引用,因此所有子路径都将被丢弃。

正确的配置方法: 为了保留路径,我们需要在 RewriteRule 中使用正则表达式的捕获组。^(.*)$ 会捕获请求 URI 的所有内容(除了域名部分),并将其存储在 $1 变量中。然后,我们可以在重定向目标 URL 中引用这个 $1,从而将原始路径附加到子目录 URL 之后。

请将主域名根目录下的 .htaccess 文件中的相关 RewriteRule 修改为:

RewriteEngine on
# 检查请求的主机是否为 example.com 或 www.example.com
RewriteCond %{HTTP_HOST} ^example.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
# 将所有请求(包括路径)301重定向到 https://example.com/fr/,并保留原始路径
RewriteRule ^(.*)$ https://example.com/fr/$1 [L,R=301,NC]

# 以下是标准的WordPress规则,请确保其保持不变,除非您有特殊需求
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

解释:

  • RewriteRule ^(.*)$ https://example.com/fr/$1 [L,R=301,NC]:
    • ^(.*)$:这是一个正则表达式,^ 匹配行的开始,.* 匹配任意字符零次或多次,$ 匹配行的结束。括号 () 创建了一个捕获组,它会捕获 .* 匹配到的所有内容,即原始请求的路径。
    • $1:引用了第一个捕获组匹配到的内容。通过将其附加到重定向目标 URL,确保原始路径得以保留。
    • L (Last):表示如果此规则匹配成功,则停止处理后续的重写规则。
    • R=301 (Redirect=301):表示执行一个永久性(301)外部重定向。
    • NC (No Case):表示不区分大小写。

通过此修改,例如 example.com/about 将被正确重定向到 https://example.com/fr/about。

Viggle AI Video Viggle AI Video

Powerful AI-powered animation tool and image-to-video AI generator.

Viggle AI Video 115 查看详情 Viggle AI Video

子目录 .htaccess 配置

当 WordPress 安装在子目录(例如 /fr/)中时,其自身的 .htaccess 文件也需要进行调整,以确保 WordPress 能够正确解析其内部链接和固定链接结构。最主要的变化是 RewriteBase 指令,它需要反映 WordPress 实际所在的子目录路径。

原始子目录配置(可能导致问题): 标准的 WordPress .htaccess 规则在根目录下运行时是有效的,但在子目录中,RewriteBase / 和 RewriteRule . /index.php [L] 会导致 WordPress 无法正确找到其资源或处理请求。

# BEGIN WordPress

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

# END WordPress

正确的配置方法: 在 /fr/ 子目录下的 .htaccess 文件中,您需要修改 RewriteBase 和主 RewriteRule,使其指向 /fr/ 路径。

请将 /fr/ 目录下的 .htaccess 文件修改为:

# BEGIN WordPress

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# 将 RewriteBase 修改为子目录的路径
RewriteBase /fr/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# 将主 RewriteRule 的目标路径修改为子目录的 index.php
RewriteRule . /fr/index.php [L]
</IfModule>

# END WordPress

解释:

  • RewriteBase /fr/:明确告诉 Apache,所有后续的重写规则都应该相对于 /fr/ 路径来解析。这是确保 WordPress 在子目录中正确处理 URL 的关键。
  • RewriteRule . /fr/index.php [L]:确保所有不直接对应文件或目录的请求都被内部重写到 /fr/index.php,由 WordPress 进一步处理。

注意事项

  1. 备份文件: 在进行任何 .htaccess 文件修改之前,务必备份原始文件。错误的配置可能导致网站无法访问。
  2. 清除缓存: 301 重定向会被浏览器和 CDN 缓存。修改后,请务必清除浏览器缓存、CDN 缓存(如果使用)以及服务器端缓存(如 Nginx FastCGI 缓存),以确保新的重定向规则生效。可以使用匿名模式或不同的浏览器进行测试。
  3. WordPress 固定链接: 在完成 .htaccess 配置后,登录 WordPress 后台,导航到“设置” -> “固定链接”,无需进行任何修改,直接点击“保存更改”按钮。这会刷新 WordPress 的重写规则,确保其与新的环境兼容。
  4. 测试: 彻底测试网站的各个页面和功能,确保所有链接都正确重定向并正常工作,特别是深层链接和静态资源。
  5. 优先级: 服务器通常会优先处理根目录的 .htaccess 文件,然后是子目录的。了解这个处理顺序有助于调试。

总结

通过对主域名根目录和 WordPress 子目录中的 .htaccess 文件进行精确配置,我们可以实现无缝且路径完整的重定向。关键在于主目录 RewriteRule 中对 $1 捕获组的正确使用,以及子目录 RewriteBase 和 WordPress 核心 RewriteRule 的相应调整。遵循这些步骤并进行充分测试,将确保您的 WordPress 网站在子目录中稳定运行,并提供一致的用户体验。

以上就是使用 .htaccess 正确配置 WordPress 子目录重定向与路径保留的详细内容,更多请关注php中文网其它相关文章!


# word  # php  # 重定向  # red  # cdn  # access  # 浏览器  # nginx  # wordpress  # apache  # 正则表达式  # 公司网站建设图库  # 商场营销推广方案  # 兴山宜昌网站建设开发  # 海尔集团网站的网站推广  # 民治网站排名关键词优化  # 北京抖音推广网站  # 网站优化方案模板下载  # 敦煌搜索关键词排名  # 海外seo项目  # 吕梁关键词排名包括什么  # 关键在于  # 所有内容  # 请将  # 将被  # 目录中  # 您的  # 重写  # AI-powered 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 秋风萧瑟洪波涌起中的萧瑟指的是什么  《幻兽帕鲁》手游帕鲁捕捉技巧分享  键盘保修需要什么_键盘售后维修流程  批改网官网首页登录 批改网学生用户登录入口  PointNet++语义分割模型中类别变更引发的断言错误及标签处理策略  以下哪一项是古代兵书三十六计中的计谋  如何修改Windows截图的默认保存位置_告别C盘让桌面更整洁【教程】  TikTok私信无法发送表情怎么办 TikTok消息表情发送修复方法  无人机考证官网 中国民航无人机考证官网登录入口  Word如何将文字快速转成表格 Word文本转换成表格功能使用技巧【效率】  VBA Outlook邮件自动化:高效集成Excel数据与列标题的策略  《广发易淘金》国债逆回购操作教程  高效调试PHP大型嵌套数组:JSON序列化与可视化工具实践  房产|直播|视频号怎么认证开通?|直播|需要什么资质?  《全民k歌》音乐怎么下载到本地2025  Lar*el 中高效执行多列更新:单次查询实现  高德地图怎么查看未来行程规划_高德地图未来行程规划查看方法  yy漫画官方网站登录入口_yy漫画在线阅读页面地址  C++ cast类型转换总结_C++ reinterpret_cast与const_cast的使用  mysql中如何配置字符集和排序规则_mysql字符集排序配置  PSD转AI文件的简单方法  悟空浏览器网页版链接 悟空浏览器网页版最新有效地址  《桃源记2》资源采集攻略  4399小游戏下装链接 4399小游戏下载链接入口  windows10怎么开启wsl_windows10安装linux子系统教程  哔哩哔哩在线观看入口 B站官网免费进入  《密马》发布账号方法  米侠浏览器插件无法启用怎么办 米侠浏览器扩展兼容性修复  响应式设计中动态背景颜色条的实现指南  鼠标没反应了怎么办 无线/有线鼠标失灵的解决方法【详解】  微信注销后银行卡解绑了吗_微信注销后银行卡解绑状态  CodeIgniter 3 中基于 MySQL 数据高效生成动态图表教程  招商淘客入门指南  Python csv 模块处理非字符串数据:列表写入 CSV 文件的机制解析  C++ priority_queue怎么用_C++优先队列底层实现与自定义比较器  Win10怎么设置快速启动 Win10开启快速启动设置方法  Python实战:高效处理实时数据流中的最小/最大值  基于 Flink 和 Kafka 实现高效流处理:连续查询与时间窗口  《友玩*》创建群聊方法  包子漫画官网链接官方地址 包子漫画在线观看官网首页入口  抖音号升级成企业资质怎么弄?有什么好处?  漫蛙漫画官方网站使用_漫蛙manwa网页版在线入口教程  智云Q3和Q2有什么升级_智云Q3与Q2手持云台功能与性能对比分析  使用CSS :has() 选择器实现父元素样式控制:从子元素反向应用样式  Python中安全地将环境变量转换为整数的类型注解指南  b站网页版入口 哔哩哔哩官方网站直接进入  AI图层蒙版怎么用_AI图层蒙版应用技巧与设计实例  excel怎么制作考勤表 excel考勤模板与函数公式讲解  wps文字怎么设置文字环绕图片的方式_wps文字如何设置文字环绕图片方式  ao3入口镜像地址 ao3镜像入口可靠跳转 

 2025-11-29

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.