问题: 把服务器A克隆到服务器B后,进入B的IP:80/wp-admin时却自动跳转到了A的wp-admin

是因为WordPress在配置中保存了原始服务器A的URL,而不是新服务器B的URL。当你尝试访问B服务器的/wp-admin时,WordPress会尝试重定向你回到原始服务器A的登录界面,因为它认为它仍然运行在服务器A上。

为了解决这个问题,你需要更新WordPress中的URL设置,使其指向新的服务器B。以下是详细的解决方案:

  1. 登录到WordPress数据库
    首先,你需要登录到服务器B上的MySQL数据库。你可以使用mysql命令行工具来做这个。
    bash
    mysql -u root -p
    输入你的MySQL密码后,你将进入MySQL命令行。
  2. 选择WordPress数据库
    假设你的WordPress数据库名为wordpress_db,你需要选择这个数据库来执行接下来的操作。
    sql
    SHOW DATABASES;
    USE wordpress;
    SHOW TABLES;
  3. 先查看wp_options表中的siteurlhome字段进行确认
    SELECT * FROM wp_options WHERE option_name=’siteurl’ OR option_name=’home’;
  4. 更新wp_options表中的siteurlhome字段
    这两个字段分别保存了WordPress站点的URL和主页URL。你需要将它们更新为服务器B的URL。
    sql
    UPDATE wp_options SET option_value = 'http://your_server_b_domain_or_ip:80' WHERE option_name = 'siteurl';
    UPDATE wp_options SET option_value = 'http://your_server_b_domain_or_ip:80' WHERE option_name = 'home';

    your_server_b_domain_or_ip替换成你的服务器B的实际域名或IP地址。
  5. 更新wp_users表中的user_loginuser_email字段(如果需要)
    如果你的用户登录或电子邮件地址包含服务器A的URL,你可能还需要更新这些字段。不过,这种情况较少见。
  6. 退出MySQL命令行
    sql
    EXIT;
  7. 重启WordPress容器
    更新数据库设置后,你需要重启WordPress Docker容器来使这些更改生效。
    bash
    docker restart your_wordpress_container_name
    your_wordpress_container_name替换成你的WordPress容器的实际名称。
  8. 清理浏览器缓存和Cookies
    最后,清除你浏览器中关于服务器A的WordPress站点的缓存和Cookies,以确保不会受到旧缓存的影响。

完成上述步骤后,你应该能够正常访问服务器B上的WordPress后台管理界面了。如果仍然遇到问题,请检查你的WordPress配置文件中是否有任何硬编码的URL,并确保它们也指向了正确的服务器B地址。

By liu

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注