Nginx:将某个文件路径URL重定向到其新路径url

时间:2016-05-20 01:41:18

标签: redirect nginx

我们将资产移至新容器或文件夹。从/documents/THE_FILE.pdf移至/assets/client_files/files/documents/THE_FILE.pdf,注意到该路径现在位于/assets/cleint_files/files/目录中。

问题是,我们已经有大量内容链接到文件但使用旧路径。我只是想让工作变得简单,因为整个网站中有2000个这样的实例。我希望这可以使用nginx来完成它会在检测到类似http://www.domain.com/documents/THE_FILE.pdf的链接时将某个网址重定向到其新网址。只要网址的第一条路径为/documents/,它就会被重定向到新路径/assets/client_files/files/documents/

谢谢。

1 个答案:

答案 0 :(得分:5)

将执行简单的重写,将其添加到您的服务器块。

rewrite ^(/documents/.*)$ /assets/client_files/files$1 permanent;

这会将带有/documents/的URI的301重定向请求重新发送到新路径。

有关Nginx重写的更多信息,请查看docs here

<强>更新

你也可以在像这样的地方做到这一点

location /documents/ {
    rewrite ^(.*)$ /assets/client_files/files$1 permanent;
}