最佳实践将内部WP映像的一部分重定向到S3存储桶

时间:2016-04-13 15:36:33

标签: wordpress .htaccess amazon-web-services amazon-s3

在WordPress网站上工作,对于帖子内部的一部分帖子(前几年),图片指的是一个单独的WP网站(单独的虚拟主机)old.mysite.com意味着有以下链接:{{ 3}}

我想做什么,而不是保持这个单独的WP站点 - 只将这些图像移动到S3存储桶并让帖子从那里拉出图像。

我可以在.htaccess中使用重写规则吗?我更喜欢不编辑单个数据库条目,因为这似乎不是一个很好的选择,也不是一个好的做法......

记住 - 还有新帖子,例如。 2015/16年我更喜欢不改变这些路径,因为它们可以保留在当前站点/ wp内容路径中。只想改变那些来自old.mysite.com的人。

我愿意接受任何其他建议。

谢谢。

1 个答案:

答案 0 :(得分:0)

由于我们没有太多时间采取行动,我想发布我们最终提出的解决方案,以防其他人需要这个。

如上所述,old.site.com 需要维护的网站(如果是,那么我们可能会在此处选择其他选项)。现有的WordPress站点具有指向old.site.com/wp-content/uploads的实际链接。

我们的解决方案

为了让用户能够快速联机,以便用户可以看到较旧的帖子/图片/等,我们执行了以下操作:

  1. 从old.site.com复制上传目录,并将其放入名为old.site.com的S3存储桶中
  2. 接下来在Route53内(或您控制DNS的任何地方),我们为old.site.com创建了一个CNAME,目标指向s3.amazonaws.com
  3. 请记住,您需要使S3存储桶对公共访问可读 - 这可以通过右键单击存储桶名称然后“公开”或通过设置策略来完成。
  4. 现在,当我们访问主站点时,所有这些映像都指向S3存储桶而不是服务器上的实际虚拟主机。

    此外,因为内容(图像)位于S3存储桶内,所以如果它必须位于实际的EC2实例中,那么与相同的空间相比,我们支付的费用非常少。

    另一种解决方案

    (如果需要维护)

    如果我们真的想在old.site.com的WordPress(媒体库)中维护图像,那么将所有图像移到S3可能是有益的。或者甚至在图像(上传)的大小像Instagram那样变得非常大的情况下。在那种情况下, @Panama Jack 建议我们可以修改DB中的实际条目以指向正确的位置,即。 S3桶。

    请注意不要损坏PHP序列化字符串,这是一个很好的工具(https://interconnectit.com/products/search-and-replace-for-wordpress-databases/)或者可以使用类似的WP插件。