解决因修改WordPress slug导致ERR_TOO_MANY_REDIRECTS问题(尚未解决)

本文分享如何解决因修改WordPress slug导致ERR_TOO_MANY_REDIRECTS问题。

1. 问题描述

我用Windows Live Writer发布了一篇slug为wordpress-load-google-open-sans的博文,随后,在WLW修改slug为wordpress-load-google-open-sans-normally,再次发布。访问该博文,提示“ERR_TOO_MANY_REDIRECTS”错误,无法正常访问。

使用Redirect Checker工具查询该博文的重定向情况,部分结果如下:

<!-- Result: -->
http://sparkandshine.net/wordpress-load-google-open-sans-normally/
302 Found
http://sparkandshine.net/wordpress
301 Moved Permanently
http://sparkandshine.net/wordpress/
301 Moved Permanently
http://sparkandshine.net/wordpress-from-sae-to-aws-batch-change-images-url/
302 Found
http://sparkandshine.net/wordpress
301 Moved Permanently
http://sparkandshine.net/wordpress/
301 Moved Permanently
http://sparkandshine.net/wordpress-from-sae-to-aws-batch-change-images-url/
...

<!-- Problems found: -->
Too many redirects. 
You use 301 and 302 redirect at the same time. 
You use a 302 redirect

问题的原因

模糊重定向

WP URL auto complete feature,

StackExchange: Disable WordPress URL auto complete

2. 一些没用的方法

(1)删除重定向插件

删除重定向插件Redirections,还是不能解决问题。

(2)删除旧别名

查找和删除旧域名的SQL语句如下:

-- 查询别名
SELECT * 
FROM  `wp_postmeta` 
WHERE  `meta_key` =  '_wp_old_slug'
AND  `meta_value` LIKE  '%wordpress-load-google-open-sans%'

-- 删除旧别名
SELECT * 
FROM  `wp_postmeta` 
WHERE  `meta_key` =  '_wp_old_slug'
AND  `meta_value` =  'wordpress-load-google-open-sans%'

-- 删除所有旧别名(谨慎,建议先备份)
DELETE FROM `wp_postmeta` WHERE `meta_key` = '_wp_old_slug'

操作示意图如下:

delete_wordpress_old_slug

然而并没什么卵用。

(4)其他

修改Permalink,再改回来。后台删除文章,重新发布。

3. 解决

期待您的指点。

发表评论

电子邮件地址不会被公开。 必填项已用*标注