0

我在我们服务器上的测试域名上开发了一个新的 wordpress 网站。我已经设置好网站准备上线......但我不得不将 wordpress 网站移动到我们也在我们的服务器上托管的另一个域名上。

所以我所做的是从测试域名复制所有根文件夹内容并将内容粘贴到新域名的根文件夹中。

然后我登录到 wordpress,更改了所有必要的设置,例如 WORDPRESS URL 和 SITE ADDRESS URL 以及每个单独页面中的图像绝对 URL,以确保我获得了所有内容的正确 URL。

当我点击媒体时,我可以像平常一样看到所有图像。

太好了...然后我去现场查看网站,发现有很多图像丢失了!它们都在媒体面板中 - 但不会出现在网站上!

然后,我仔细检查所有图像是否正确传送……它们都是正确的。

现在为什么有些图像会显示而其他图像不显示?我什至尝试添加一张新照片并使用该照片代替另一张未显示且新照片甚至未显示的照片。

我的问题出在哪里?

例如,我网站上的 1 个幻灯片没有显示图像,给我一个图像“找不到图像”错误:

Image not found: http://www.domain.com/wp-content/themes/natural
/lib/timthumb.php?src=http://www.domain.com/wp-content/uploads/2012/08/breakfast-gallery-011.jpg&w=610&h=0&zc=1
4

2 回答 2

0

问题不在于图像 URls 仅是硬编码的。URL 的最后一部分是硬编码的,但您很可能会在 URL 中嵌入“/wp-content/”,这表明图像的 URL 字符串是动态创建的。我查看了我的 wp_postmeta 表,并且有所有的部分图像 URls(像这样 - 2013/03/expanse2.jpg )。现在这个 URL 的开头部分和域名在哪里?在我的案例中,域名是所有图片网址中实际缺少的部分。我使用 phpmyadmin 对数据库进行了更深入的研究(但如果您可以启动并运行它,我推荐使用 Webmin)。我遇到了“wp_options”表中的“home”字段。向 Google 询问 wordpress 的正确“主页 url”是什么,这将我带到了这个页面(http://codex.wordpress.) ,并且这条线在那里( home_url() 位于 wp-includes/link-template.php. )。转到该文件,发现它控制了 URL 的构建方式,但没有专门控制上传的图像 URL。最后,我进入一个有图像的页面,查看高级设置,发现图像 URL 只是缺少域。我使用了精彩的搜索和替换脚本来修复它。完毕

于 2013-06-13T11:41:45.350 回答
0

好的,我将用一些建议来回答我的问题。很明显,我的一些图像是“硬编码”的,因为我找不到一些不显示的逻辑原因(即使我查看了 MySQL 中的表格数据)并且因为我不是数据库工程师/开发人员- 我没有准备好深入研究这可能会导致进一步的问题......所以我决定关闭整个 wordpress 网站,创建一个新数据库,重新安装 wordpress,然后我导入了一个导出的 xml 文件我在“迁移站点”之前创建并保存(幸运的是)。

建议:

1)无论您是否迁移 wordpress 网站,请始终通过创建 wordpress 结构的导出来定期备份您的网站。它可能会为您节省很多未来的工作。

2)如果您像我一样是开发和 MYSQL 的业余爱好者或初学者,我建议您在您想要的实际域名上创建您的 wordpress 站点。这将使您免于像我刚刚经历过的“迁移”头痛……以及很多时间。从我的错误中学习。虽然上面的问题可能有一个解决方案,但它超出了我的专业知识/知识,也可能超出你的范围......所以让你自己轻松:)

于 2012-08-17T01:47:34.573 回答