Wordpress 迁移——永久链接找不到文件

问题描述 投票:0回答:1

我有一个博客 (www.billoblog.com/wordpress),我正在尝试将其迁移到位于 www.forensicpath.us/wordpress 的新 vps。 我设法移动了 wordpress 目录并将配置文件更改为指向 forensicpath.us。 然后我将数据库移过来并得到一些奇怪的行为。

起初,博客的首页显示得很好,但是当我单击其中一篇文章时,它链接到旧博客网站(仍在运行)上的帖子。啊哈! 我说。 我必须更改永久链接。 因此,我转到已移动的 sql 文件,并使用 vim 将 billoblog.com 全局更改为 forensicpath.us。

现在,当我点击帖子时,它会显示我想查看的永久链接,例如https://www.forensicpath.us/wordpress/index.php/2024/09/19/pathology-cases-agenesis-of-the-corpus-callosum/而不是https://www.billoblog.com /wordpress/index.php/2024/09/19/pathology-cases-agenesis-of-the-corpus-callosum/ 但现在我得到 404 页面未找到。

有趣的是,我可以编辑页面——当我进入仪表板->帖子->编辑帖子时,会显示正确的信息。 我不知道它是在本地拉取的还是返回到 billoblog.com 或者什么。

显然,手动编辑sql备份文件可能不是最聪明的事情,但我不知道如何更新永久链接永久链接应该指向的数据。 我被难住了。

wordpress migration
1个回答
0
投票

它可以是永久链接设置、Web 服务器 (nginx) 配置、Wordpress 设置中的一项或任意一项。 几年前我一直这样做!

备份站点的 sql 文件/数据库、wp-config.php 和 nginx 配置,并将它们保存在合适的位置,例如您的主文件夹。然后你可以尝试一些事情。

以下是解决该问题的一些步骤:

  • 不要手动编辑 SQL 文件,而是使用专为 WordPress 迁移设计的工具。 “WP-CLI”或“Better Search Replace”等插件可以正确处理序列化数据。

如果使用 WP-CLI(假设它安装在新服务器上):

wp search-replace 'https://www.billoblog.com/wordpress' 'https://www.forensicpath.us/wordpress' --all-tables

或者再次打开文本编辑器并在 sql 文件中搜索。 也许遗漏了一些东西?

  • 检查服务器配置: 它可能需要类似于:
location /wordpress {
    try_files $uri $uri/ /wordpress/index.php?$args;
}

另外,如果您使用一些默认前缀来处理 .php:

location ~ \.php$ {
    fastcgi_split_path_info ^(/wordpress)(/.*)$;
}

如果以前是:

location ~ \.php$ {
    fastcgi_split_path_info ^(.+?\.php)(/.*)$;
}

记住重新加载您的 nginx 配置并重新启动它。

  • 检查 wp-config.php: 如果使用 WP_HOME 和 WP_SITEURL 常量,请确保它们设置正确:
define('WP_HOME','https://www.forensicpath.us/wordpress');
define('WP_SITEURL','https://www.forensicpath.us/wordpress');
  • 重新生成永久链接: 在 WordPress 仪表板中,转到“设置”>“永久链接”,然后只需再次保存设置即可,无需更改任何内容。这应该刷新重写规则。
© www.soinside.com 2019 - 2024. All rights reserved.