自定义文章类型Slug变更,求.htaccess批量重定向规则
没问题,这事儿用RedirectMatch就能完美批量解决,不用一篇篇手动加规则。我给你分两种常见服务器环境来提供方案:
Apache 服务器(.htaccess 方案)
直接在网站根目录的.htaccess文件里添加下面这条规则,一定要放在WordPress默认的# BEGIN WordPress注释块之前(不然WP的URL规则会先接管,导致旧链接匹配不到):
RedirectMatch 301 ^/change-wire/(.*)$ /changewire/$1
规则说明:
301是永久重定向,对SEO最友好,搜索引擎会自动更新索引到新链接^/change-wire/(.*)$:^匹配URL开头,(.*)会捕获/change-wire/之后的所有内容(包括文章slug、分页参数、查询字符串之类的)/changewire/$1:把捕获到的内容$1拼接到新路径后面,实现所有旧链接的批量跳转
比如旧链接https://mysitename.org/change-wire/my-old-post会自动跳转到https://mysitename.org/changewire/my-old-post,连分页链接https://mysitename.org/change-wire/page/2也能正确跳转到新路径。
Nginx 服务器方案
如果你的网站用的是Nginx,就在站点的配置文件里添加下面的规则:
location ~ ^/change-wire/(.*)$ { return 301 /changewire/$1; }
添加后记得重启Nginx服务生效,效果和Apache的规则完全一致,批量处理所有旧链接。
注意事项:
- 如果之前手动加过单篇文章的重定向规则,建议删掉那些单条规则,避免和批量规则冲突
- 测试的时候可以随便构造一个旧格式的链接访问,确认跳转正常
- 永久重定向生效后,搜索引擎需要一点时间更新索引,不用着急
内容的提问来源于stack exchange,提问作者the_answer_is_xyz
相关产品推荐
相关产品推荐

