
本文详细阐述了如何通过修改 `.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 文件负责处理所有进入主域名的请求,并将其重定向到目标子目录。关键在于 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解释:
通过此修改,例如 example.com/about 将被正确重定向到 https://example.com/fr/about。
Viggle AI Video
Powerful AI-powered animation tool and image-to-video AI generator.
115
查看详情
当 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解释:
通过对主域名根目录和 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 】
相关推荐:
PHP 4 函数中引用参数的默认值限制与解决方案
教资成绩怎么查询
Golang中的rune与byte类型区别是什么_Golang字符与字节处理详解
《小宇宙》标记不友善评论方法
《狐友》联系客服方法
热血江湖归来医师加点攻略
优化 React onClick 事件处理:函数引用与箭头函数的对比
LocoySpider如何批量采集电商商品_LocoySpider电商采集的模板应用
PHP utf8_encode 字符编码转换陷阱与解决方案
如何在解析前预检查XML文件的完整性? 比如检查文件大小或特定结束标签
Flexbox布局:实现粘性导航与底部页脚的完美结合
如何在CSS中使用absolute实现登录弹窗居中_transform translate结合
谷歌浏览器官方镜像获取方法_谷歌浏览器网页版入口极速直达
解决Flex容器横向滚动内容截断与偏移问题
C#中的Record类型有什么优势?C# 9新特性Record与Class的用法区别
《百度畅听版》关闭兴趣推荐方法
Flexbox布局中Stencil组件宽度不显示问题解析与:host尺寸控制
小红书网页版在线直达 小红书网页版免费登录入口
Firefox OS应用开发:解决XMLHttpRequest跨域请求阻塞问题
斯宾塞称XGP云游戏“蒸蒸日上”:正在构建一个游戏从未如此唾手可得的未来
小红书网页版首页入口 小红书网页版电脑端官方登录链接
使用CSS :has() 选择器实现父元素样式控制:从子元素反向应用样式
Golang如何测试结构体方法_Golang reflect方法测试与调用技巧
解决异步Python机器人中同步操作的阻塞问题
多闪APP官方下载安装入口_多闪最新版本获取入口
Golang如何操作指针参数_Go pointer参数传递规则
手机自动关机是怎么回事?如何修复?手机异常关机的原因排查与修复技巧
为什么XML解析器对大小写敏感? 理解XML规范中的大小写规则与最佳实践
VS Code的时间线(Timeline)视图:您的代码时光机
Flexbox布局实践:实现底部页脚与顶部粘性导航条的完美结合
Three.js中动态更换3D模型纹理的教程
mail.qq.com登录入口 QQ邮箱网页版直达
Lar*el 中高效执行多列更新:单次查询实现
C++如何实现单例模式_C++线程安全的单例模式写法
微信如何设置字体大小_微信字体设置的阅读舒适
Highcharts雷达图径向轴数值标签实现教程
汽水音乐网页版登录 汽水音乐网页端官方入口
抖音号怎么解除企业认证改成个人?改成个人有影响吗?
如何自定义苹果手机铃声
Leaflet地图弹出窗口图片动态显示:避免缺失图标的专业指南
胃动力不足?试试这5个调理方法
《下一站江湖2》心法融合技巧
Sublime Text怎么关闭自动完成_Sublime禁用Auto Complete设置
Python类装饰器动态修改方法时的类型提示:Mypy插件实现精确静态分析
厨房地面防滑垫的油污怎么洗? 机洗和手洗防滑垫的注意事项
Sublime怎么自动添加CSS前缀_Sublime安装Autoprefixer插件
如何在mysql中使用索引提示_mysql索引提示优化方法
PSD转AI文件的简单方法
蜻蜓FM如何设置移动流量播放
动漫岛在线动漫网 动漫岛动漫在线观看官方入口
2025-11-29
运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。