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

WordPress子域名转主域名:配置301重定向并移除日期路径

解决子域名迁移后主域名URL保留日期路径的问题

看起来你现在的重定向规则只是简单替换了域名,把blog.example.net/YYYY/MM/DD/mypost直接转到example.net/YYYY/MM/DD/mypost,但主域名的文章URL根本没有日期前缀,自然会404。咱们需要修改.htaccess里的Rewrite规则,把日期部分去掉,只保留文章slug。

正确的Rewrite规则配置

把下面的规则放在你的blog.example.net的.htaccess文件最顶部(一定要在WordPress自动生成的# BEGIN WordPress注释之前):

RewriteEngine On

# 匹配子域名下带日期路径的文章URL,重定向到主域名去掉日期的地址
RewriteCond %{HTTP_HOST} ^blog\.example\.net$ [NC]
RewriteRule ^[0-9]{4}/[0-9]{2}/[0-9]{2}/(.+)$ https://example.net/$1 [R=301,L]

规则解释:

  • RewriteCond %{HTTP_HOST} ^blog\.example\.net$ [NC]:确保这条规则只作用于子域名blog.example.net(NC表示不区分大小写)。
  • RewriteRule ^[0-9]{4}/[0-9]{2}/[0-9]{2}/(.+)$ https://example.net/$1 [R=301,L]:
    • ^[0-9]{4}/[0-9]{2}/[0-9]{2}/:匹配开头的4位年份、2位月份、2位日期路径(比如2024/05/20/)。
    • (.+):捕获日期后面的文章slug(比如mypost),用$1引用。
    • [R=301,L]:301是永久重定向(对SEO友好),L表示这是最后一条规则,匹配后不再执行后面的规则。

额外注意事项

  • 确保主域名example.net的WordPress固定链接设置是不带日期的格式(比如“文章名称”模式),这样example.net/mypost才能正确访问。
  • 重定向生效后,记得清空浏览器缓存和CDN缓存(如果有的话),避免旧的重定向缓存影响测试。
  • 如果还有其他特殊页面需要处理(比如分类页),可以在这条规则后面添加针对性的Rewrite规则,但先确保文章的重定向正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 07:57:17