我曾尝试复制我的WP项目的本地副本,但遇到了障碍,无法弄清楚我做错了什么。
按照将本地site1安装复制到本地site2位置的所有步骤后,我无法在site2登录WP,并且site2网站不显示front-page.php
。
以下是我到目前为止所做的步骤:
当前的本地WP网站位于:C:\xampp\htdocs\site1\localWP
(注:数据库名称:localwp;用户:wpxxxx;密码:xxxxxxxxsite1,表前缀:wpsite1 _)
在此处创建新文件夹:C:\xampp\htdocs\site2\localWP2
将所有文件从site1的localWP文件夹复制到site2的localWP2文件夹
转到localhost/phpmyadmin/
,然后单击“数据库”选项卡。
在顶部,键入新数据库名称:localwp2
,然后选择utf8_general_ci
进行整理。单击“创建”按钮。我收到了成功消息,现在看到列出了新的数据库(但尚未创建表)。
在顶部,单击“用户”选项卡。在页面中间,单击“添加用户链接”。 输入用户名:wpxxxx2。单击Local for local(localhost)。输入密码xxxxxxxxsite2两次。单击全部以获取全局权限。单击Go按钮。我收到了成功消息,现在看到列出的新用户名。
在侧栏上,单击原始数据库的名称:localwp。 在顶部,单击“导出”选项卡。单击自定义导出方法。然后单击Tables下的Select All链接。在“输出”下,单击“将输出保存到文件”单选按钮。 在底部,单击“Go”按钮。备份的SQL文件已保存到下载中。
现在,在左侧栏中,单击新的数据库名称:localwp2
。
在顶部,单击“导入”选项卡。单击“浏览”按钮,找到刚刚导出的文件,然后单击“打开”。转到底部,然后单击“Go”按钮。我收到一条消息,说已经执行了81个查询。 (与localwp上的相同,所以这很好!)
单击侧栏上的localwp2,我可以看到所有表格。 (但表格名称仍然以wpsite1_
为前缀,由于导出,我希望它们为wpsite2_
。)
现在,转到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');
转到新网站位置:localhost/site2/localWP2
我得到了一个网站,但是front-page.php没有显示。看起来它正在为index.php
页面提供服务。
登录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
(当然,如果我登录,我在site1 / localWP内,而不是新的site2 / localWP2。)
问题:
我想我错过了一些允许我在我的site2上登录wp的步骤。如果我安装搜索和放大器,这可能会得到解决。替换插件并可以搜索localwp2
数据库并替换:对localwp的所有引用为localwp2;所有对localhost/site1/localWP
到localhost/site2/localWP2
的引用以及对WP站点1到WP站点2的所有引用。但由于我无法登录到site2的WP安装,我无法做到这一点。 (我想如果我尝试一下,我将要做的就是改变原始数据库上的原始安装...而不是新的安装。)
即使我可以访问localhost/site2/localWP2
的主页(显示index.php而不是front-page.php
),我也无法判断网站的其余部分是否正常,因为只要我点击任何其他页面,它立即转到localhost / site1 / localWP / ...(无论页面)
问题:
我需要做些什么才能修复我的新网站位置,以便正确显示主页,以及在网站2上显示的所有其他网页。
我需要做些什么才能登录WP for site2。
如何让新数据库localwp2的表格具有wpsite2_
的表格前缀。此时,尝试将wp-config.php
更改为此内容为时已晚:$table_prefix = 'wpsite2_';
(或者我不应该打扰,因为它并不重要)?
(3a。注意:我只是尝试更改表格前缀并转到我的site2位置,它解决了这个问题:localhost/site2/localWP2/wp-admin/install.php
..它看起来好像要我重新安装WP。所以我只是改变了它回到wpsite1_
的原始前缀。猜猜我回答了我自己的问题..它在wp-config.php
中无法更改。我认为必须对数据库运行一些SQL才能更改表格前缀那里,然后在配置文件中更改..所以我认为它是在太难的篮子,只要它并不重要!)我会好奇将来安装如何获得表格前缀更改(以及在什么时候应该这样做),如果你有一些资源,你可以指点我。)
对我的任何建议都将不胜感激!!
答案 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');