唯一需要更改的引用在wp_options
表中。一个是home
url,另一个是siteurl
. 这些将允许您登录管理员并查看前端。但是,您仍然需要使用管理员更新您的永久链接和重写规则。
但是,我仍然建议使用自动化解决方案。我使用这个工具来查找和替换数据库引用。它是专门为 wordpress 制作的,但它适用于任何数据库。它还允许您选择要更新的表并将使用序列化字符串,因此您应该能够避免注释部分中的错误。
只需将文件放在 wordpress 安装的根目录下并运行提示即可。确保取消选择wp_comments
和wp_commentmeta
表。此外,请确保在生产环境中删除该文件,因为它存在潜在的安全威胁。
根据评论更新
除了上面的两个地方,数据库中还有几个地方存储了 URL。大多数插件会将它们的选项存储在wp_options
表中。通常,插件还将序列化数据以避免大量查询。但是,您不能简单地更改序列化数据中的 URL,因为序列化字符串中有长度引用。因此,如果您当前的 URL 长度为 15 个字符,而新的 URL 长度为 20,则您还需要更新 URL 和字符串长度。如果您不这样做,PHP 将忽略该值。我相信这是避免代码注入的安全措施。
对于媒体部分中的资产,URL 存储在wp_posts
post type 下attachment
。如果您在帖子中硬编码绝对链接,您可能还需要解析它们(如果是这种情况,您可能只解析整个表)。如果您正在使用任何类型的自定义字段插件或对 URL 的 post meta 进行任何操作,您也将需要通过wp_postmeta
.
另一件要提的是,一些插件会添加自己的数据库表。这些显然是基于每个案例的,但一个好的经验法则是尝试在任何字符串列中运行对“%http%”的查询,以查看是否有硬编码的 URL。这是我将使用的查询:
SELECT * FROM `table` WHERE `column` LIKE '%http%'