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

如何用带负向前瞻的htaccess重定向实现WordPress跳转且保留wp-content资源

完全不需要为每个分类单独配置重定向规则,你最初的方案问题是匹配规则过于宽泛,误命中了需要保留在原站的wp-content、API等系统路径,只需要在规则中增加路径排除逻辑即可实现需求。

Apache 配置方案

你使用的RedirectMatch支持正则负向预查,直接调整规则如下即可:

# 排除所有不需要重定向的系统路径后,匹配分类/文章别名结构跳转
RedirectMatch 301 ^/(?!wp-content|wp-json|wp-admin|wp-includes)([^/]+)/([^/]+)/?$ https://mynewwebsite.com/blog/$2

如果站点开启了mod_rewrite,也可以用更灵活的重写规则实现:

RewriteEngine On
# 依次排除需要保留在原站的路径
RewriteCond %{REQUEST_URI} !^/wp-content/
RewriteCond %{REQUEST_URI} !^/wp-json/
RewriteCond %{REQUEST_URI} !^/wp-admin/
RewriteCond %{REQUEST_URI} !^/wp-includes/
# 匹配 分类名/文章别名 结构执行跳转
RewriteRule ^([^/]+)/([^/]+)/?$ https://mynewwebsite.com/blog/$2 [L,R=301]

Nginx 配置方案

如果你的原站用Nginx提供服务,用以下规则即可:

# 优先匹配系统资源路径,保留原站访问逻辑
location ~ ^/(wp-content|wp-json|wp-admin|wp-includes)/ {
    try_files $uri $uri/ /index.php$is_args$args;
}
# 匹配分类/文章别名结构,执行301跳转
location ~ ^/([^/]+)/([^/]+)/?$ {
    return 301 https://mynewwebsite.com/blog/$2;
}

注意事项

  • 调试阶段建议先把301改成302临时重定向,确认规则匹配逻辑、跳转结果完全符合预期后再改为301永久重定向,避免浏览器缓存错误规则影响正常访问
  • 如果你有自定义的API路径、其他需要保留在原站的路径,只需要把对应路径前缀加到排除列表中即可
  • 上述规则会自动适配所有分类,无论你有多少个分类都不需要单独新增规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:54:03