我在原始服务器上有文件夹结构,如 /images/2020/07/09/imagename.jpg,并将其全部移动到子域上与 s3 兼容的存储中,略微改变了文件夹结构。现在很难做出正确的重定向,以防有人直接访问图像或之前已使用旧 URL 嵌入到某个地方。
所以问题是如何让 Nginx 从 https://originsite.com/**images**/2020/07/09/imagename.jpg/png/etc。 到 https://media.originsite.com/**folder**/2020/07/09/imagename.jpg/png/etc。
非常感谢您的帮助。
答案1
在没有看到您的 nginx 配置的情况下,以下是最佳猜测。
location ~ "^/images/(?<year>[0-9]{4})/(?<month>[0-9]{2})/(?<day>[0-9]{2})/(?<filename>.+\.(?:jpg|png))$" {
return 301 https://media.originsite.com/foldder/$year/$month/$day/$filename;
}
我们将 URL 路径的特定部分捕获到变量中,然后使用这些变量形成实际的重定向 URL。
您的其余 nginx 配置可能会影响其工作方式。