发布于 2015-09-19 23:52:20 | 140 次阅读 | 评论: 0 | 来源: 网络整理

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.

示例:

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 .

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 .

References

Original Documentation

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务