使用Duplicator迁移WordPress后首页及登录页重定向过多问题求助
WordPress迁移后首页重定向过多/登录页404 解决方案
1. 清理数据库中的旧URL残留
直接通过phpMyAdmin或数据库管理工具操作:
- 找到
wp_options表(表前缀不同则对应修改),检查siteurl和home字段的值,确保完全匹配新主机的域名(注意http/https、www的一致性,比如原站是http://old-site.com,新站必须统一为https://new-site.com) - 搜索
wp_posts表的guid字段,批量替换旧域名成新域名(替换时要精确匹配,避免误改其他内容) - 检查
wp_postmeta表的meta_value字段,这里可能藏着主题或插件设置的旧域名跳转规则,逐一清理
2. 排查服务器端的强制重定向规则
- Apache环境:即使删除了根目录的
.htaccess,服务器的httpd.conf或虚拟主机配置文件里可能存在强制301重定向(比如跳转到旧域名或强制www),联系主机商排查或自行检查配置 - Nginx环境:查看站点配置文件中的
rewrite规则,比如类似rewrite ^(.*)$ http://old-domain.com$1 permanent;的代码,直接删除或修改为新域名的规则
3. 修复登录页404问题
- 直接访问
your-new-domain.com/wp-login.php,确认是否能打开:- 如果还是404,检查
wp-login.php的文件权限(设为644),站点根目录权限设为755,确保服务器允许PHP文件访问 - 打开
wp_options表,把permalink_structure字段暂时改为默认格式?p=123,刷新后再改回自定义固定链接,重新生成规则
- 如果还是404,检查
4. 清除服务器/CDN缓存
- 登录主机面板,找到服务器自带的缓存工具(比如SG CachePress、Bluehost缓存),彻底清除所有缓存
- 若使用CDN(如Cloudflare),登录CDN后台清空缓存,同时检查CDN的页面规则是否存在旧域名的重定向设置
5. 强制禁用登录页重定向(应急方案)
在wp-config.php中添加以下代码:
define('WP_HOME','https://your-new-domain.com'); define('WP_SITEURL','https://your-new-domain.com'); define('FORCE_SSL_ADMIN', true); // 临时禁用登录页重定向 remove_action('template_redirect','wp_redirect_admin_locations',10);
直接访问wp-login.php登录后台,登录后移除最后一行代码,再重新配置站点地址和固定链接
内容的提问来源于stack exchange,提问作者Giuliano Gostinfini
相关产品推荐
相关产品推荐

