mapBu değişkenler yalnızca kullanıldıklarında değerlendirildiklerinden, önerilen yol muhtemelen a'yı kullanır .
Ayrıca, return 301 ...yeniden yazmalara göre kullanımı tercih edilir, çünkü düzenli bir ifadenin derlenmesi gerekmez.
Burada, birleştirilmiş dize olarak ana bilgisayar ve kullanıcı aracısının tek bir normal ifadeyle karşılaştırıldığı bir örnek:
map "$host:$http_user_agent" $my_domain_map_host {
default 0;
"~*^www.domain.com:Agent.*$" 1;
}
server {
if ($my_domain_map_host) {
return 302 http://www.domain2.com$request_uri;
}
}
Ve bu daha da esnek olabilir, örneğin, 2 değil, daha fazla alan söz konusuysa.
Burada map www.domain.comkullanıcı aracısı ile başlayan Agentetmek http://www.domain2.comve www.domain2.comkesin user-agent ile Other Agentkarşı http://www.domain3.com:
map "$host:$http_user_agent" $my_domain_map_host {
default 0;
"~*^www.domain.com:Agent.*$" http://www.domain2.com;
"~*^www.domain2.com:Other Agent$" http://www.domain3.com;
}
server {
if ($my_domain_map_host) {
return 302 $my_domain_map_host$request_uri;
}
}
Not : Haritadaki birleştirilmiş dizenin çalışması için nginx 0.9.0 veya daha yüksek bir sürüme ihtiyacınız olacaktır.