【问题标题】:Wordpress local server to live hostWordpress 本地服务器到实时主机
【发布时间】:2012-01-16 05:41:39
【问题描述】:

我正在开发一个 wordpress 网站。我将文件(wordpress)上传到我的现场主机。因此,我的 wordpress 的新实时 url 站点就像这个示例 url http://mywordpress.com/,显示似乎很好,但是当我开始浏览菜单页面时,它将被重定向到我的本地服务器,而不是 http://mywordpress.com/about-us/ 它去了我的本地主机喜欢http://localhost/mywordpress/about-us

所以当我检查页面源时,包括样式表在内的所有链接都链接到我的本地。即使我使用此代码

<link href="<?php bloginfo('stylesheet_url'); ?>" rel="stylesheet" type="text/css" media="all" />

这有点奇怪……但有人知道如何配置吗?

【问题讨论】:

  • 您是否也上传了配置文件和/或数据库?
  • 是的,我已经根据我的主机数据库凭据对其进行了配置......并且它工作正常,唯一的问题是链接,它不断重定向到我的本地主机并从我的本地服务器获取数据
  • 检查您的常规设置,并确保您的 WordPress Address (URL)Site Address (URL) 未设置为 localhost。
  • 在哪里可以看到常规设置?
  • 转到 wordpress 管理部分并在左侧导航中查找 Settings。你会在下面找到General

标签: php wordpress


【解决方案1】:

在我看来,您的数据库可能正在为您的 url 使用旧值。

要获得可能会或可能不会解决您的问题的快速解决方案,请尝试http://www.velvetblues.com/web-development-blog/wordpress-plugin-update-urls/。这是一个很棒的插件。如果没有...这是我从本地转移到在线的防弹说明。

我已经从本地迁移到在线数百次,我认为大多数关于 wordpress 迁移的教程都过于复杂。这是我的方法(假设你已经有一个 fresh wordpress 安装和数据库)

  1. 转到本地服务器的 phpMyAdmin 并导出数据库(但不是作为文件)...只需获取直接的 SQL 文本并复制它。

    李>
  2. 将该代码粘贴到 Dreamweaver、文本编辑器、coda 或任何可以进行搜索和替换的纯文本文字处理器中。然后搜索“http://MyOldWordpressUrl.com/wordpress”(确保最终目录后有 NO 斜线)并替换为“http://MyNewWordpressUrl.com/wordpress”。显然不包括引号。确保您的旧 wordpress URL 是正确的。您可以仔细检查管理员 -> 常规设置。

  3. 进入您的控制面板进行在线托管,然后转到数据库进行新的 wordpress 安装(这应该是一个全新的安装,您还没有创建任何帖子或输入任何数据 - 只是什么wordpress 给你)。导出数据库并将其保存为文件(以防万一)。现在删除所有表格。当它询问您是否确定时,请单击“是”。然后单击 SQL 图标(应该在左侧边栏的左上角)。这应该会打开一个新窗口。现在粘贴第 2 步中的代码,然后单击 GO。

  4. 通过 FTP 传输您的主题文件夹。

  5. 现在你应该去新的 wordpress 安装的 wp-admin。您将使用相同的用户名和密码。转到“添加帖子”并从您的计算机中添加任何图像...等待它上传,现在将其删除。此步骤是让服务器创建上传文件夹以 100% 确定由 wordpress 注册并设置为正确的权限。我之前通过 FTP 直接传输上传文件夹浪费了几个小时,所以不要这样做。

  6. 第 5 步在 FTP 中创建了一个上传文件夹,现在您可以将上传文件夹的内容(即 2008、2009、2010、2011 + 子文件夹)拖放到上传文件夹中。除了一个空文件夹(因为您在第 5 步中删除了该文件),其中应该没有任何内容,因此如果它警告您,可以覆盖。

  7. 剩下的唯一步骤是转移您的插件。您可以通过 FTP 来完成,尽管通过“添加插件”和搜索 + 安装直接通过 Wordpress 管理员添加它们可能会更快。

  8. 哦,是的,现在转到永久链接设置并单击“默认”,更新,然后选择您想要的任何内容 - 您需要将永久链接刷新到。

这是万无一失的...但是您必须对使用 PHP myadmin 有点熟悉/自信。虽然我发现有些小部件不能通过这种方式传输,所以传输后可能需要再次拖放一些小部件(外观->小部件)。

有关第 1 步和第 3 步的说明,请参阅此处的图表:http://webdesignerwall.com/tutorials/exporting-and-importing-wordpress ... 但保证 WDW 教程的其余部分在某些时候会给您带来问题。

【讨论】:

    【解决方案2】:

    如 cmets 中所述,您需要浏览到 Settings->General 页面并更新您的站点 URL 和 wordpress URL。

    如果您因为被重定向到本地站点而无法访问“设置”页面(我以前也遇到过这种情况),那么您可能必须直接在 mysql 中编辑值,这还不错,真的。

    这些设置位于选项名称“siteurl”和“home”下的wp_options 表中。如果您需要更多帮助,请发表评论。

    【讨论】:

      【解决方案3】:

      您可能需要刷新您的永久链接:请参阅下面的第 5 步。有关此主题的官方 documentation 也可能会澄清一些事情。


      将本地 WordPress 安装移动到实时站点的步骤

      这是我的方法,而且每次都奏效。假设本地 WP 安装在 http://localhost/wordpress/,WP 数据库名为 wordpress,实时 WP 安装在 http://livesite.com/,WP 数据库名为 livesite

      1. 创建本地 WP 数据库的备份 -
        • 导航到http://localhost/phpmyadmin
        • 从侧面菜单中选择数据库wordpress
        • 点击导出
        • 选中Add DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT statement的复选框
        • 点击 GO - 它应该下载一个名为 wordpress.sql 的文件
      2. 为实时站点下载数据库 -
        • 登录 + 导航至http://localhost/wordpress/wp-admin/options-general.php
        • 输入WordPress Address (URL)Site Address (URL) 的实时站点值
        • 点击保存更改 - 这将破坏您的本地 WP 安装:这就是我们进行备份的原因
        • 重复步骤 1 [创建本地 WP 数据库的备份] - 包括所有子步骤
        • 将这个新下载的文件从wordpress.sql重命名为livesite.sql
      3. 为现场站点准备 WP 文件
        • 上传WP文件结构到http://livesite.com/
        • 编辑/wp-config.php 以获得实时数据库名称、用户名和密码
      4. 导入实时 WP 数据库 - 如果您尚未创建 livesite 数据库,请立即创建
        • 导航至http://livesite.com/phpmyadmin 或同等学历
        • 从侧面菜单中选择数据库livesite
        • 点击导入
        • 从步骤 2 中选择本地文件 livesite.sql
        • 点击 GO - 应该会成功导入 livesite 数据库
      5. 刷新实时站点永久链接 - 您的永久链接设置正确但未更新以反映新域,因此请让 WP 更新它们
      6. 还原本地安装 - 这实际上可以在第 2 步之后的任何时候完成。
        • 使用在步骤 1 中创建的备份从http://localhost/phpmyadmin 执行步骤 4。这是修复本地安装的唯一方法,因为我们在步骤 2 中更改了域,我们甚至无法返回设置页面。

      注意事项

      • 使用 WP 3.3.1
      • 使用 phpMyAdmin 3.4.8

      【讨论】:

        【解决方案4】:

        这背后的原因是,在您将 wordpress 网站从本地服务器移至现场后,您并没有更改网站 url 和家庭地址。因此,当您尝试在真实服务器中打开您的网站时,它会重定向回您的本地服务器。您需要在 Cpanel 或 FTP 中打开 PhpMyAdmin 工具并选择您的数据库,然后打开 wp_options 表。

        wp_options 表中更改 site urlhome 的值。

        现在您的问题将解决。

        【讨论】: