WordPress链接重定向异常求助:已有页面链接被错误跳转
我之前也碰到过类似的诡异重定向问题,大概率是这几个环节出了岔子,一步步排查应该能解决:
刷新WordPress重写规则
先登录WP后台,进入「设置」→「固定链接」,不用改任何设置,直接点「保存更改」就行。这一步会重置WordPress的URL重写规则,很多时候规则混乱就会导致已存在的页面被错误跳转。如果你的固定链接是自定义结构,顺便确认下结构里有没有和/page/item1冲突的配置。排查重定向插件的规则
如果你用了Redirection、Yoast SEO(自带重定向模块)这类插件,进到插件的重定向管理页面,搜索/page/item1或者item-1相关的规则。十有八九是之前误加了一条重定向,把目标指向了meusite.com.br/item-1,删掉这条错误规则就好。检查.htaccess文件的自定义规则
通过FTP或者主机面板的文件管理器找到根目录下的.htaccess文件,先备份一份(怕改坏了没法恢复),然后打开看看有没有类似这样的规则:RewriteRule ^page/item1/?$ https://meusite.com.br/item-1 [R=301,L]如果有,删掉这条规则,保存后刷新页面测试。
清理数据库中的旧链接残留
有时候修改页面slug或者换主题插件后,数据库里会留下旧的重定向记录。用phpMyAdmin登录数据库,先找wp_posts表,搜索post_name为item1的记录,确认它的guid和 permalink 是不是正确的mysite.com/page/item1。另外也可以搜wp_postmeta表的_wp_old_slug字段,看有没有和item-1相关的残留数据,必要的话可以删除(操作前一定要备份数据库!)。清空所有缓存
包括WordPress缓存插件(比如WP Super Cache、W3 Total Cache)、主机的服务器缓存,还有Cloudflare这类CDN的缓存。缓存很容易保留旧的重定向规则,清完之后再测试链接。排查主题/插件冲突
如果上面的步骤都没用,试试切换到默认主题(比如Twenty Twenty-Four),然后逐个禁用插件,每禁用一个就测试一次链接。这样能快速定位是不是某个主题或插件的代码强制加了重定向。
内容的提问来源于stack exchange,提问作者Antonio Augusto Lopes

