克隆的WordPress网站表现与原版不同

时间:2018-03-08 14:11:43

标签: wordpress

基于WordPress的网站已在Amazon AWS AMI实例上开发。我们将该网站称为http://example.com。为了测试对站点的更改,从Amazon AWS EC2控制面板,我停止了正在运行的实例,创建了它的映像,然后使用该映像启动了一个新实例。我为clone.example.com创建了一个DNS记录,并将其指向克隆的实例。

克隆实例启动后,我执行了以下操作:

  1. clone.example.com创建了新的LetsEncrypt证书,并相应地更新了/etc/httpd/conf.d/ssl.conf
  2. 使用mySql Workbench,下载了数据库的副本并删除了架构
  3. 编辑了数据库文件,将http{s}://example.com的所有实例更改为http{s}://clone.example.com
  4. 将数据库上载到名称相同的新架构
  5. /var/www/html中搜索了字符串example.com中的所有文件,但未找到任何重要的文件
  6. 然后我能够访问克隆的站点,安全证书有效,但该站点与原始站点不同。不同的,某些颜色,布局等是不一样的。

    问题中的WordPress网站使用了各种插件,包括:

    • BuddyPress和几个附属插件
    • BP Portfolio
    • 重力形式
    • WooCommerse和几个附属插件

    您能否建议我可以尝试让克隆网站的行为与原始网站一样?谢谢!

2 个答案:

答案 0 :(得分:1)

我挖了进去并且很难解决这个问题 - 我将 void Replace(char* s,char* w1, char* w2) { int lisw = 0; //lisw = letters in single word bool found =false; for (int i=0;s[i]!='\0' && found!=true;i++) //Replaced || with &&. { lisw=0; for (int j=i;s[j]!=' '&& s[j]!='\0';j++)//added: && s[j]!='\0' so the loop terminates because otherwise it kept finding "spaces" since the character array was of a larger size to accommodate any sentence. { lisw++; } found=true; int k=0; for (int j=i;j<lisw+i;j++) //loop goes until lisw+i instead of lisw { if (s[j]!=w1[k]) { found=false; } k++; } k=0; if (found==true) { for (int j=i;j<lisw+i;j++)//same as above. { s[j]=w2[k]; k++; } } i=i+lisw; } } 的每个实例更改为https://example.com,直到找到破坏网站的那个实例。

问题出现在表https://clone.example.com中(并不奇怪),导致问题的条目是wp_options。这是一个开发人员的懒惰案例。部分 - 而不是做正确的事情,即创建一个表来存储选项;他们使用了一个长串,每个部分由其长度分隔。因此,更改URL会导致字符串解析中断。

答案 1 :(得分:0)

我记得在几个月前克隆wordpress网站时遇到了与CSS类似的问题。但是,这不是在AWS上完成的,而是在另一个托管提供商上完成的发生的事情是我克隆网站上的page-id是新的,与之前使用的不同。使用新的page-id更新到现有styles.css后,问题得以解决。

这不是答案。我想留下它作为评论,但缺乏声誉。