Config файл nginx: определить, является ли язык браузера «де», затем перенаправить на страницу .... еще перенаправить на другую страницу - PullRequest
1 голос
/ 30 сентября 2019

Я хочу создать ссылку в баннере для перенаправления на одну из двух страниц. Ссылка указывает на subdomain.example.com/email. Если в браузере используется значение «de», перейдите к www.example.de/banner, иначе перейдите к www.example.com/banner. Мои навыки владения языком nginx conf не очень хорошие, но я знаю, что в любом языке браузера на немецком языке первые два символа - «de» (см. https://www.metamodpro.com/browser-language-codes).. Ни на одном другом языке такого нет.

location /email {
    if $http_accept_language === "de" { return 301 https://www.example.de/banner }
    else { return 301 https://www.example.com/banner}
}

1 Ответ

0 голосов
/ 30 сентября 2019

Более чистое и расширяемое решение использует директиву map.

Например:

map $http_accept_language $redirect {
    default    https://www.example.com/banner;
    ~de        https://www.example.de/banner;
}

server {
    ...
    location /email {
        return 301 $redirect;
    }
    ...
}

Подробнее см. в этом документе .

...