在 nginx 上重定向 57,000 个 URL 的最佳方法是什么?

R89*_*891 6 performance nginx redirect

我计划在 nginx 中使用映射文件进行大量重定向,如下例所示,但刚刚发现我必须重定向大约 57,000 个 URL。将它们放入配置文件中是最好的方法吗,还是有更好的方法?

map $request_uri $redirect_uri {
    /old-path-1     /new-path-1;
    /old-path-2     /new-path-2;
    /old-path-3     /new-path-3;
}
Run Code Online (Sandbox Code Playgroud)

重定向主要用于搜索引擎。在他们重新索引网站后,我认为旧网址不会有大量点击。我主要担心创建包含这么多行的配置文件所带来的潜在问题。

更新:效果很好。

小智 2

那应该可以正常工作。请注意,您还可以使用包含对地图

顺便说一句,这里有几个选择:

  1. 您还可以使用proxy_cache并通过 PHP/Python/nginx 后面的任何其他内容生成此 URL(如果出于某种原因更方便的话)。请注意,速度要慢得多
  2. 使用精确匹配,查看此线程