我正在从一个WordPress多站点实例导入到另一个实例,使用工具->导出生成一个WXR文件,然后使用工具->导入进行导入。我收到所有文件的“无法导入媒体”消息。
当我查看apache日志(在正在导入的生产服务器上)时,我得到:
[Wed Nov 13 11:05:30 2013] [error] [client 10.11.1.13] client denied by server configuration: /var/vhosts/wordpress/html/wp-content/uploads/sites/10, referer: http://drawyourweapons.wordpress.drake.edu/
我从中导入的测试服务器上的路径是:/var/vhost/wordpress-test/html/wp-content/uploads/sites/10
生产服务器上新站点的路径是:/var/vhost/wordpress/html/wp-content/uploads/sites/6
我不明白为什么它要在prod上访问该站点
最合适的回答,由SO网友:dramaley 整理而成
我已经创建了一个补丁,可以解决这个问题。此补丁适用于WordPress 3.6.1。这是一种黑客行为,除了指出问题所在之外,不应该非常认真地对待它。我不知道PHP,但在放弃之前,我可以追溯到这一点。我希望更熟悉WordPress代码库的人在看到补丁和修改的代码后,能够找出问题所在。
我注意到代码正在对远程服务器的IP进行大量检查。我不确定检查远程服务器是否位于专用网络上的理由,但这可能是问题的一部分。我们从中导出的服务器位于10.10.2.16,而我们导入的服务器位于10.10.1.206。两者都在同一个专用网络上。
此修补程序可在以下位置获得:http://pastebin.com/LeVtWKhX