301将nginx文件夹内容重定向到子文件夹

时间:2016-11-02 09:38:23

标签: redirect nginx

我有一个载有大量图片的文件夹......

/资产/图像/

......我把它改成了两个版本......

/资产/图像/大 /资产/图像/小

我的日志正在为原始文件夹结构加载404s,所以我想要一个重定向来阻止它。

如何重定向原始文件夹的所有请求以查看大文件夹?文件名是相同的。到目前为止我所尝试的还重定向了它在新文件夹结构中找到的所有内容,并陷入了可怕的混乱。

TIA!

1 个答案:

答案 0 :(得分:2)

如果要隐藏客户端中的/large/文件夹,请添加以下位置:

location ~ /assets/images/([^/]*)$ {
  try_files /assets/images/large/$1 =404;
}

如果您希望您的客户“了解”large文件夹,请使用:

location ~ /assets/images/([^/]*)$ {
  return 301 /assets/images/large/$1;
}

HTTP状态301表示“永久移动”。

正则表达式只允许/以外的任何内容,因此它实际上与/assets/images/large/a.jpg不匹配,这就是您想要的。