将本地安装的WP和主题从site1文件夹复制到站点2文件夹

时间:2014-12-05 02:04:41

标签: wordpress copy duplicates local

我曾尝试复制我的WP项目的本地副本,但遇到了障碍,无法弄清楚我做错了什么。

按照将本地site1安装复制到本地site2位置的所有步骤后,我无法在site2登录WP,并且site2网站不显示front-page.php

以下是我到目前为止所做的步骤:

  1. 当前的本地WP网站位于:C:\xampp\htdocs\site1\localWP (注:数据库名称:localwp;用户:wpxxxx;密码:xxxxxxxxsite1,表前缀:wpsite1 _)

  2. 在此处创建新文件夹:C:\xampp\htdocs\site2\localWP2

  3. 将所有文件从site1的localWP文件夹复制到site2的localWP2文件夹

  4. 转到localhost/phpmyadmin/,然后单击“数据库”选项卡。 在顶部,键入新数据库名称:localwp2,然后选择utf8_general_ci进行整理。单击“创建”按钮。我收到了成功消息,现在看到列出了新的数据库(但尚未创建表)。

  5. 在顶部,单击“用户”选项卡。在页面中间,单击“添加用户链接”。 输入用户名:wpxxxx2。单击Local for local(localhost)。输入密码xxxxxxxxsite2两次。单击全部以获取全局权限。单击Go按钮。我收到了成功消息,现在看到列出的新用户名。

  6. 在侧栏上,单击原始数据库的名称:localwp。 在顶部,单击“导出”选项卡。单击自定义导出方法。然后单击Tables下的Select All链接。在“输出”下,单击“将输出保存到文件”单选按钮。 在底部,单击“Go”按钮。备份的SQL文件已保存到下载中。

  7. 现在,在左侧栏中,单击新的数据库名称:localwp2。 在顶部,单击“导入”选项卡。单击“浏览”按钮,找到刚刚导出的文件,然后单击“打开”。转到底部,然后单击“Go”按钮。我收到一条消息,说已经执行了81个查询。 (与localwp上的相同,所以这很好!)

  8. 单击侧栏上的localwp2,我可以看到所有表格。 (但表格名称仍然以wpsite1_为前缀,由于导出,我希望它们为wpsite2_。)

  9. 现在,转到site2/localWP2,然后编辑wp-config.php文件。更改以下代码行:

       define('DB_NAME', 'localwp');
       define('DB_USER', 'wpxxxx');
       define('DB_PASSWORD', 'xxxxxxxxsite1');
    

    为:

       define('DB_NAME', 'localwp2');
       define('DB_USER', 'wpxxxx2');
       define('DB_PASSWORD', 'xxxxxxxxsite2');
    
  10. 转到新网站位置:localhost/site2/localWP2 我得到了一个网站,但是front-page.php没有显示。看起来它正在为index.php页面提供服务。

  11. 登录wp。由于我复制了以前安装的wp文件,我必须使用我在初始安装时创建的原始localwp用户ID和密码 - 对吗?这是dfxxxxx和xxxxxxxxxxx。但是当我转到localhost/site2/localWP2/wp-admin并尝试使用上述用户ID登录时,它会立即重定向:

    http://localhost/site1/localWP/wp-login.php?redirect_to=http://localhost/site2/localWP2/wp-admin/&reauth=1 
    
  12. (当然,如果我登录,我在site1 / localWP内,而不是新的site2 / localWP2。)

    问题:

    1. 我想我错过了一些允许我在我的site2上登录wp的步骤。如果我安装搜索和放大器,这可能会得到解决。替换插件并可以搜索localwp2数据库并替换:对localwp的所有引用为localwp2;所有对localhost/site1/localWPlocalhost/site2/localWP2的引用以及对WP站点1到WP站点2的所有引用。但由于我无法登录到site2的WP安装,我无法做到这一点。 (我想如果我尝试一下,我将要做的就是改变原始数据库上的原始安装...而不是新的安装。)

    2. 即使我可以访问localhost/site2/localWP2的主页(显示index.php而不是front-page.php),我也无法判断网站的其余部分是否正常,因为只要我点击任何其他页面,它立即转到localhost / site1 / localWP / ...(无论页面)

    3. 问题:

      1. 我需要做些什么才能修复我的新网站位置,以便正确显示主页,以及在网站2上显示的所有其他网页。

      2. 我需要做些什么才能登录WP for site2。

      3. 如何让新数据库localwp2的表格具有wpsite2_的表格前缀。此时,尝试将wp-config.php更改为此内容为时已晚:$table_prefix = 'wpsite2_';(或者我不应该打扰,因为它并不重要)?

      4. (3a。注意:我只是尝试更改表格前缀并转到我的site2位置,它解决了这个问题:localhost/site2/localWP2/wp-admin/install.php ..它看起来好像要我重新安装WP。所以我只是改变了它回到wpsite1_的原始前缀。猜猜我回答了我自己的问题..它在wp-config.php中无法更改。我认为必须对数据库运行一些SQL才能更改表格前缀那里,然后在配置文件中更改..所以我认为它是在太难的篮子,只要它并不重要!)我会好奇将来安装如何获得表格前缀更改(以及在什么时候应该这样做),如果你有一些资源,你可以指点我。)

        对我的任何建议都将不胜感激!!

2 个答案:

答案 0 :(得分:1)

您对site2的登录问题是由于siteurl表中的wp_options值仍设置为site1 url,导致重定向。您可以将siteurl值直接更改为site2网址,然后您就可以登录。

我可能会使用这样的插件:https://wordpress.org/plugins/wp-migrate-db/并使用搜索和替换功能重新导出来自site1的导出,并将其重新导入到新的site2 db中。

答案 1 :(得分:1)

您应该将site1的所有网址重定向到site2数据库中的site2。

参考查询:

UPDATE wp_options SET option_value = replace(option_value, 'http://www.oldurl', 'http://www.newurl')  WHERE option_name = 'home' OR option_name = 'siteurl';

UPDATE wp_posts SET guid = replace(guid, 'http://www.oldurl','http://www.newurl');

UPDATE wp_posts SET post_content = replace(post_content, 'http://www.oldurl', 'http://www.newurl');

UPDATE wp_postmeta SET meta_value = replace(meta_value,'http://www.oldurl','http://www.newurl');