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

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

我计划使用映射文件在 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;
}

重定向主要针对搜索引擎。在他们重新索引网站后,我认为旧 URL 的点击量不会很大。我主要担心创建包含那么多行的配置文件可能会带来问题。

更新:它运行良好。

答案1

这应该没问题。请注意,您还可以使用包括指令,以便您的配置文件看起来很漂亮

顺便说一下,这里有几个替代方案:

  1. 您还可以使用代理缓存如果出于某种原因,这样做更方便,则通过 PHP/Python/nginx 后面的其他任何程序生成这些 URL。请注意,这样做速度要慢得多
  2. 使用精确匹配,查看此线

相关内容