0
我想nginx的設置適當的接受語言頭取決於請求的域:映射接受語言頭與nginx的(和django的)結構域
www.domain.ru設置ru-RU
www.domain.com集en-US
www.domain.de設置de-DE
www.domain.eu不做任何事情讓Django從瀏覽器中獲取標題。 如果英文用戶輸入www.domain.ru(強制使用俄語),則對於上面指定的3個域名,強制更改接受語言標題,即使是 。
這裏是我的nginx的配置:
server {
listen 1.1.1.1;
server_name domain.eu www.domain.eu domain.de www.domain.de domain.com www.domain.com domain.ru www.domain.ru;
if($host ~* (.*)\.ru) {
set $http_accept_language 'ru-RU';
}
location/{
proxy_pass_header Server;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Scheme $scheme;
proxy_connect_timeout 10;
proxy_read_timeout 10;
proxy_pass http://127.0.0.1:8888/;
}
}
這是我的配置(通過gunicorn運行的Django)的一部分。 如果未設置會話語言,Django會檢查accept-language
標題。
在我的位置/指令中添加'proxy_set_header Accept-Language $ language;'+您的代碼有幫助。謝謝! – Robert 2012-08-14 06:54:31