ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
### map This module allows you to classify, or map a set of values into a different set of values and store the result in a variable. Example: ~~~ map $http_host $name { hostnames;   default 0;   example.com 1; *.example.com 1; test.com 2; *.test.com 2; .site.com 3; } ~~~ One use for this would be to use a mapping in place of writing lots of server/location directives or redirects: ~~~ map $uri $new { default http://www.domain.com/home/;   /aa http://aa.domain.com/; /bb http://bb.domain.com/; /john http://my.domain.com/users/john/; }   server { server_name www.domain.com; rewrite ^ $new redirect; } ~~~ ### 指令 ### map **syntax:***map $var1 $var2 { ... }* **default:***none* **context:***http* **map** defines the mapping table which will be used to set a variable. There are three special parameters: - default — defines the value to be used where no match is found. - hostnames — it allows for an easier matching of values like host names, names with a starting dot may match exact host names and host names ending with the value, for example: ~~~ *.example.com 1; ~~~ Instead of two entries ~~~ example.com 1; *.example.com 1; ~~~ we can use only one ~~~ .example.com 1; ~~~ - include — include values from a file. Multiple includes may be used. ### map_hash_max_size **syntax:***map_hash_max_size number* **default:***map_hash_max_size 2048* **context:***http* The directive sets the maximum size of a hash table to hold the variable map. For more details see the descriptions of hash settings [Optimization section](# "NginxOptimizations") . ### map_hash_bucket_size **syntax:***map_hash_bucket_size n* **default:***map_hash_bucket_size 32/64/128* **context:***http* The directive sets the maximum size in a hash table to map variables. The default value depends on the size of the cache line processor. More see in the descriptions of hash settings in the [Optimization section](# "NginxOptimizations") . ### References [Original Documentation](http://sysoev.ru/nginx/docs/http/ngx_http_map_module.html "http://sysoev.ru/nginx/docs/http/ngx_http_map_module.html")