> For the complete documentation index, see [llms.txt](https://oguzhaninan.gitbook.io/haproxy/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://oguzhaninan.gitbook.io/haproxy/maps/converters.md).

# Converters

Belirli bir alan adına bağlı olarak hangi `backend` 'in kullanılması gerektiğini aramak için daha önce oluşturduğunuz `hosts.map` dosyasını kullanacağız.&#x20;

`Converter`, HAProxy yapılandırmanıza bir girdi alan ve ilişkili bir çıktı döndüren bir yönergedir. Çeşitli dönüştürücüler vardır. Örneğin, belirli bir dizeyi küçük harfle değiştirmek için `lower` dönüştürücüyü veya URL'nin kodunu çözmek için `url_dec` değerini kullanabilirsiniz.&#x20;

```
frontend fe_main
    bind :80
    use_backend %[str(example.com),map(/etc/haproxy/maps/hosts.map)]
```

Anahtar olarak example.com içeren hosts.map dosyasındaki ilk satırın değeri döndürülür.`str (example.com)` ifadesine ve dönüştürücüden virgülle ayrıldığına dikkat edin.

Bu ifade çalışma zamanında değerlendirildiğinde, istekleri `be_static` sunucu havuzuna yönlendiren `use_backend be_static` satırına dönüştürülür. Tabii ki, *example.com* gibi sabit bir dizeden geçmek yerine, bir `HTTP Header` veya URL parametresi değerini gönderebilirsiniz. Aşağıdaki örnek giriş olarak `Host Header` değerini kullanır.

```
use_backend %[req.hdr(host),lower,map(/etc/haproxy/maps/hosts.map,be_static)]
```

Map dönüştürücü en fazla iki bağımsız değişken alır. Birincisi Map dosyanızın yoludur. İkinci isteğe bağlı bağımsız değişken, eşleşen anahtar bulunmazsa kullanılacak varsayılan bir değer bildirir. Dolayısıyla, bu durumda, eşleşme yoksa, `be_static` kullanılacaktır. Giriş, Map dosyasındaki birden çok değer ile eşleşirse, HAProxy birincisini döndürür. Map dönüştürücü, dosyada tam bir eşleşme arar, ancak kısmi eşleşme için fırsatlar sağlayan birkaç seçenek vardır. En yaygın olarak kullanılanlar aşağıda eklenmiştir:

|           |                                                                                                                                                                                                                    |
| --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `map_beg` | Map dosyasındaki girdinin başlangıcına uyan girdileri arar (örneğin “abcd” girdisi dosyadaki “a” ile eşleşir)                                                                                                      |
| `map_end` | Map dosyasındaki girdinin sonuyla eşleşen girdileri arar (örneğin, “abcd” girdisi dosyadaki “d” ile eşleşir).                                                                                                      |
| `map_sub` | Map dosyasında değerin bir alt dizesini oluşturan girişleri arar (örneğin, “abcd” girişi dosyadaki “ab” veya “c” ile eşleşir).                                                                                     |
| `map_ip`  | Bu, girişi bir IP adresi olarak alır ve Map'de arar. Map'in içinde maskeler (192.168.0.0/16 gibi) varsa, aralıktaki herhangi bir IP eşleşir. Bu, giriş türünün bir IP adresi olması durumunda varsayılan değerdir. |
| `map_reg` | Bu, Map'deki örnekleri normal ifadeler(regex) olarak okur ve normal ifade eşleşirse eşleşir.                                                                                                                       |
| `map_str` | Map için bir takma ad. Bu, bir dizeyi giriş olarak alır, tüm anahtarla eşleşir ve değeri dize olarak döndürür                                                                                                      |
