如何用单条规则批量301重定向WordPress站点/journal下所有链接?
批量处理WordPress中/journal路径下所有链接的301重定向方案
嘿,我来帮你搞定这个批量301重定向的问题——不用一个个手动加800条规则,单条规则就能覆盖所有/journal路径下的链接(包括所有子层级的子链接),直接跳转到你指定的站内页面。下面分几种常用场景给你具体方案:
一、Apache服务器:用.htaccess实现(最直接的单规则方案)
如果你的WordPress主机用的是Apache服务器,直接修改根目录下的.htaccess文件就能搞定:
- 先备份你的
.htaccess文件,防止操作出错导致网站无法访问 - 打开
.htaccess,找到# BEGIN WordPress这一行,在它之前添加以下规则:
RewriteEngine On RewriteRule ^journal/(.*)$ /your-target-page/ [R=301,L]
- 把
/your-target-page/替换成你实际要跳转的站内页面路径(比如/new-blog-home/)
规则说明:
^journal/(.*)$:匹配所有以journal/开头的URL,(.*)会捕获后面的所有内容(不管是子页还是更深的子链接)[R=301,L]:R=301表示永久重定向(对SEO友好),L表示这是最后一条规则,匹配后不再执行后续规则
二、无需改代码:用WordPress插件实现
如果你不想碰服务器配置文件,用插件是更友好的选择,推荐用Redirection插件(免费且功能强大):
- 在WordPress后台安装并激活Redirection插件
- 进入插件的「添加重定向」界面:
- 源URL:填写
^journal/(.*)$(注意要勾选「正则表达式」匹配模式) - 目标URL:填写你要跳转的站内页面路径(比如
/your-target-page/) - 状态码:选择
301 - 永久重定向
- 源URL:填写
- 保存规则即可,所有
/journal下的链接都会自动跳转
三、Nginx服务器:配置server块规则
如果你的主机用的是Nginx,需要在站点的Nginx配置文件(通常是/etc/nginx/sites-available/your-site.conf)里的server块中添加以下规则:
rewrite ^/journal/(.*)$ /your-target-page/ permanent;
添加后重启Nginx服务生效:sudo systemctl restart nginx
最后注意事项
- 测试重定向:用浏览器访问任意一个旧的
/journal路径链接,检查是否跳转到目标页面,同时可以用浏览器开发者工具的「网络」标签查看状态码是否为301 - 确保WordPress固定链接设置正确:后台「设置」→「固定链接」选择非默认模式(比如「文章名」),不然可能影响重定向规则生效
内容的提问来源于stack exchange,提问作者Tyler Preston
相关产品推荐
相关产品推荐

