Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用nginx重定向大量URL的最佳方法_Nginx_Http Status Code 301 - Fatal编程技术网

使用nginx重定向大量URL的最佳方法

使用nginx重定向大量URL的最佳方法,nginx,http-status-code-301,Nginx,Http Status Code 301,我有大约2500个url,我需要从旧位置永久重定向到新位置 使用nginx执行此操作的最佳/高效方法是什么? 1-将2500条重写规则写入nginx config? 2-在旧位置生成2500个小脚本(php、Python等),返回301? 3-在包含301指令的旧位置生成某种类型的2500个静态文件? 4-将map指令与2500项类似(感谢Richard Smith) 5-??? 第三个似乎是最有效的,但我不知道这是否可能 谢谢一个选项可能是使用map指令,类似于。谢谢。您知道重写规则和映射之间

我有大约2500个url,我需要从旧位置永久重定向到新位置

使用nginx执行此操作的最佳/高效方法是什么?

1-将2500条重写规则写入nginx config?
2-在旧位置生成2500个小脚本(php、Python等),返回301?
3-在包含301指令的旧位置生成某种类型的2500个静态文件?
4-将map指令与2500项类似(感谢Richard Smith)
5-???

第三个似乎是最有效的,但我不知道这是否可能


谢谢

一个选项可能是使用
map
指令,类似于。谢谢。您知道重写规则和映射之间的性能差异吗?我想知道nginx启动后映射或编写的重写规则是否在内存中编制索引,担心单个文件中有2500条规则的性能。我会避免2500条正则表达式(重写或映射)。如果可以将
map
与普通的旧文本字符串一起使用,那么映射的大小应该无关紧要,因为它应该使用哈希表进行优化(我猜是这样)。