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

基于旧站搭建新WordPress站点,求批量归档URL重定向规则

批量重定向旧WordPress归档链接到新结构的.htaccess规则

Hey,针对你这2000+篇文章的批量重定向需求,我们可以利用Apache的mod_rewrite模块在.htaccess里写一条正则匹配规则,一次性处理所有旧链接到新链接的跳转,不用手动逐个添加重定向。

同域名下的重定向规则(如果新旧站点共享同一个域名)

如果你的新旧站点只是路径结构变化、域名相同,直接把下面的规则放到.htaccess文件最顶部:

RewriteEngine On

# 批量匹配旧归档链接并跳转到新地址
RewriteRule ^anzeigen/anzeigen-detail/article/(.*)\.html$ /anzeige/$1 [R=301,L]

跨域名的重定向规则(如果新旧站点是不同域名)

如果旧站是old.url.com、新站是new.url.com,用下面的规则:

RewriteEngine On

# 先匹配旧域名(NC表示不区分大小写)
RewriteCond %{HTTP_HOST} ^old\.url\.com$ [NC]
# 匹配旧路径并跳转到新域名的对应路径
RewriteRule ^anzeigen/anzeigen-detail/article/(.*)\.html$ https://new.url.com/anzeige/$1 [R=301,L]

规则详解

我来拆解每个部分的作用,方便你理解:

  • RewriteEngine On:开启Apache的重写引擎,这是所有重定向规则生效的前提(大部分主流主机默认都已开启,若有疑问可联系主机商确认)。
  • ^anzeigen/anzeigen-detail/article/(.*)\.html$:正则匹配规则,精准定位旧链接:
    • ^ 标记URL的起始位置,确保从路径开头匹配
    • anzeigen/anzeigen-detail/article/ 匹配旧链接里固定不变的路径部分
    • (.*) 是捕获组,专门抓取article-name123这个可变的文章标识(slug),.*表示匹配任意合法的URL字符直到遇到后续的.html
    • \.html$ 匹配旧链接末尾的.html后缀,\是转义符,因为.在正则里是特殊字符,必须转义才能匹配实际的点
  • /anzeige/$1 或 https://new.url.com/anzeige/$1:跳转的目标地址,$1会自动替换成刚才捕获组抓取到的article-name123,完美对应新链接的结构
  • [R=301,L]:R=301表示永久重定向,对SEO友好,告诉搜索引擎更新索引;L表示这是最后一条规则,匹配到后就停止处理后续规则,避免和WordPress自带规则冲突

关键注意事项

  • 这条规则一定要放在WordPress默认的.htaccess规则之前,因为WordPress自带的规则会优先处理所有请求,放在前面才能先匹配旧链接并完成跳转
  • 测试验证:随便拿一篇旧链接(比如old.url.com/anzeigen/anzeigen-detail/article/test-post-123.html)访问,应该会自动跳转到对应的新链接new.url.com/anzeige/test-post-123
  • 特殊字符兼容:即使你的文章slug里包含下划线、短横线等特殊字符,这个规则也能正常处理

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 17:03:11