【问题标题】:Domain Change Wordpress (non-trivial)域更改 Wordpress(非平凡)
【发布时间】:2015-02-17 20:14:44
【问题描述】:

我想将我的 wordpress 域从 http://IP/folder1/folder2 更改为 http://mydomain.de

我做了谷歌,我确实遵循了wordpress codex,我确实下载了整个数据库,对所有内容进行了搜索和替换,我什至修改了我的主题的function.php

仍然,当我转到 mydomain.de 时,它​​显示 mydomain.de,然后我单击任何链接并繁荣,它又回到了 http://IP/folder1/folder2。 数据库因此保持不变,我仍然到处都能找到 mydomain.de。

我不知道这里发生了什么。我显然错过了什么,但是什么?

谢谢!

【问题讨论】:

  • 搜索和替换是指在数据库中吗?

标签: wordpress dns


【解决方案1】:

我按照你描述的方式做了,也是可以的,但是步骤我不记得了,很容易搞砸。我专业地开发网站,并且总是在本地服务器上进行,然后将它们移到网上。

我在插件 WP Clone 上取得了巨大的成功。我建议您只安装它,创建克隆,在您的其他站点上安装 Wordpress,安装插件,然后使用它安装克隆。这很容易,你应该在几分钟内完成。当然,反过来你学得更多,血压也更高。

https://wordpress.org/plugins/wp-clone-by-wp-academy/

【讨论】:

    【解决方案2】:

    您可以更新数据库以指向新域。并在您的 wp-config.php 中进行以下更改

    define('WP_HOME', 'www.newdomain.com');
    define('WP_SITEURL', '/');
    

    在 MySQL 中

    update wp_options set option_value = "http://www.newdomain.com/"  where option_id = 1;
    
    update wp_options set option_value = "http://www.newdomain.com/"  where option_id = 2;
    
    update wp_blogs set domain = "www.newdomain.com" where site_id = 1;
    
    update wp_sitemeta set meta_value = "http://www.newdomain.com/" where meta_id = 14;
    

    注意:MySQL 中的这些设置可能会发生一些变化,因此只需在您要更新一次的表上进行选择来确认。大多数情况下,结构应该保持不变。

    其中一些表可能不在非多站点版本中,因此忽略这些更新查询是安全的。

    【讨论】:

      【解决方案3】:

      这些步骤很简单,我每天都这样做。

      1. 在您的桌面上创建一个新文件夹并复制所有文件 网站并将它们放在此目录中。还要添加你的 sql 转储 文件到此文件夹。
      2. 现在使用记事本++“CTRL+SHFT+F”或“在文件中查找”,替换 'localhost/yoursite' by 'yoursite.com'(不要使用任何协议 即http)。这也将替换 sql 转储中的所有内容。
      3. 现在将所有文件上传到服务器 + 导入数据库。
      4. 在您的 wp-config.php 中将这些行添加到顶部。

        define('WP_HOME','http://example.com'); define('WP_SITEURL','http://example.com');

      5. 您现在应该可以看到该网站,所有内页也应该可以正常工作。如果某些链接不起作用,请登录管理面板转到设置>永久链接,然后点击保存按钮。它将更新 .htaccess 文件并消除大部分错误。

      您还可以使用复制器插件来自动化整个过程。

      【讨论】:

      • 对整个数据库进行搜索和替换并不理想。您可能会遇到数据序列化问题,因为某些插件/主题存储带有标记的 url 长度的值。 WP Codex 实际上建议您只对 wp_posts 表中的值进行搜索和替换:codex.wordpress.org/Moving_WordPress(除了明显更改 siteurl 和 home 值之外)。
      • 感谢@WilliamPatton 的内幕,我不知道。在自定义 sql 转储上我会给出一个公平的想法,但在 wp 上我什至从未考虑过这些问题。老实说,即使在迁移了 100 多个 wordpress 网站之后,我在这个过程中也没有遇到任何问题。可能是因为我在搜索和替换过程中从不使用协议。
      • 这正是我尝试过的,比如 10 次。但是,它仍然使用旧的站点 url,它必须隐藏在某个地方。我曾经遇到过这个问题,罪魁祸首是主题的function.php,这里不是这样。我知道这应该像这 5 个步骤一样简单,只是在我的情况下由于某种原因它不是
      • omarFarooq - 事实上,我做了很长时间的类似方法,没有任何问题。一旦您确实遇到了问题,尽管您现在知道这是一个序列化问题并且可以相应地调整:) @BuroBernd 您可能遇到了我描述的序列化问题,并且会受益于进行序列化搜索和替换。我建议你使用 WP-CLI (wp-cli.org/commands/search-replace),如果你有的话,或者使用这个脚本:interconnectit.com/products/… 这两种方法都在我上面链接的页面的 WP 法典中提出
      • 谢谢@WilliamPatton :)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多