首页 > 解决方案 > WordPress 迁移到 WordPress 网络

问题描述

我有一个非常有趣的问题。我将网站从普通的 WordPress 安装迁移到 WordPress 网络。我遇到的主要问题是文件夹结构。

具体问题是图像。所以这里有一个例子:

旧图像路径: /wp-content/uploads/image.jpg/wp-content/uploads/year/month/image.jpg

随着网络,上述路径发生了变化:

新图像路径:

/wp-content/uploads/sites/SITE-ID/image.jpg/wp-content/uploads/sites/SITE-ID/year/month/image.jpg

我遇到的问题是谷歌根据它们的旧 URL 索引了所有图像。我们从 Google 图片中获得了很多潜在客户,因为人们在图片中搜索我们的产品,然后最终访问我们的网站。

我已经尝试过像这样的重写规则来修复它:

rewrite ^/wp-content/uploads/(.*).(png|jpg|gif) /wp-content/uploads/sites/4/$1.$2 ;

但是,上面的问题是它现在也在重写工作图像:

https://www.my-webiste-url/wp-content/uploads/sites/4/2018/08/image-300x300.jpg正在重写https://www.mysite-url/wp-content/uploads/sites/4/image-300x300.jpg(问题是由于 URL 中也包含年份和月份。

有人有什么建议吗?

标签: phpwordpressimagenginxurl-rewriting

解决方案


您可以在正则表达式中尝试否定前瞻断言来丢弃包含/sites/文字的匹配项。

例如:

rewrite ^/wp-content/uploads/(?!sites/)(.*\.(png|jpg|gif))$ /wp-content/uploads/sites/4/$1;

推荐阅读