OLD | NEW |
1 root /var/www/<%= @vhost %>; | 1 root /var/www/<%= @vhost %>; |
2 index index; | 2 index index; |
3 default_type text/html; | 3 default_type text/html; |
4 charset utf-8; | 4 charset utf-8; |
5 | 5 |
6 set $index_page "index"; | 6 set $index_page "index"; |
7 | 7 |
8 <% if @custom_config %> | 8 <% if @custom_config %> |
9 <%= @custom_config %> | 9 <%= @custom_config %> |
10 <% end %> | 10 <% end %> |
11 | 11 |
12 location / | 12 location / |
13 { | 13 { |
14 expires 1d; | 14 expires 1d; |
15 | 15 |
| 16 # Redirect server/language root |
| 17 |
| 18 rewrite ^/$ /$index_page last; |
| 19 rewrite ^/(\w\w(_\w\w)?)$ /$1/ permanent; |
| 20 rewrite ^/(\w\w(_\w\w)?)/$ /$1/$index_page last; |
| 21 |
16 # Match Accept-Language header against available languages | 22 # Match Accept-Language header against available languages |
17 | 23 |
18 set $preferredLang en; | 24 set $preferredLang en; |
19 set $preferredRegion ""; | 25 set $preferredRegion ""; |
20 if ($http_accept_language ~ ^(\w\w)\b) | 26 if ($http_accept_language ~ ^(\w\w)\b) |
21 { | 27 { |
22 set $preferredLang $1; | 28 set $preferredLang $1; |
23 } | 29 } |
24 if ($http_accept_language ~ ^\w\w-(\w\w)\b) | 30 if ($http_accept_language ~ ^\w\w-(\w\w)\b) |
25 { | 31 { |
(...skipping 14 matching lines...) Expand all Loading... |
40 } | 46 } |
41 if (-e "$document_root/$preferredLang$uri") | 47 if (-e "$document_root/$preferredLang$uri") |
42 { | 48 { |
43 rewrite ^(.*) /$preferredLang$1 last; | 49 rewrite ^(.*) /$preferredLang$1 last; |
44 } | 50 } |
45 if (-e "$document_root/en$uri") | 51 if (-e "$document_root/en$uri") |
46 { | 52 { |
47 rewrite ^(.*) /en$1 last; | 53 rewrite ^(.*) /en$1 last; |
48 } | 54 } |
49 | 55 |
50 # Redirect server/language root | |
51 | |
52 rewrite ^/$ /$index_page last; | |
53 rewrite ^/(\w\w(_\w\w)?)$ /$1/ permanent; | |
54 rewrite ^/(\w\w(_\w\w)?)/$ /$1/$index_page last; | |
55 } | 56 } |
56 | 57 |
57 # http://hub.eyeo.com/issues/3299 Redirect missing translations to default | 58 # http://hub.eyeo.com/issues/3299 Redirect missing translations to default |
58 location ~ ^/([a-z][a-z]\_[A-Z][A-Z])(/.+) { | 59 location ~ ^/([a-z][a-z]\_[A-Z][A-Z])(/.+) { |
59 if (!-e "$document_root$uri") | 60 if (!-e "$document_root$uri") |
60 { | 61 { |
61 # if there is no /es_Mx/page, redirect to /es/page instead: | 62 # if there is no /es_Mx/page, redirect to /es/page instead: |
62 rewrite ^/([a-z][a-z])\_([A-Z][A-Z])(/.+) /$1$3 redirect; | 63 rewrite ^/([a-z][a-z])\_([A-Z][A-Z])(/.+) /$1$3 redirect; |
63 } | 64 } |
64 } | 65 } |
65 | 66 |
66 location ~ ^/([a-z][a-z])(/.+) { | 67 location ~ ^/([a-z][a-z])(/.+) { |
67 if (!-e "$document_root$uri") | 68 if (!-e "$document_root$uri") |
68 { | 69 { |
69 # if there is no /es/page, redirect to /page instead: | 70 # if there is no /es/page, redirect to /page instead: |
70 rewrite ^/([a-z][a-z])(/.+) $2 redirect; | 71 rewrite ^/([a-z][a-z])(/.+) $2 redirect; |
71 } | 72 } |
72 } | 73 } |
73 | 74 |
74 <% if @multiplexer_locations %> | 75 <% if @multiplexer_locations %> |
75 <% @multiplexer_locations.each do |location| %> | 76 <% @multiplexer_locations.each do |location| %> |
76 location <%= location %> | 77 location <%= location %> |
77 { | 78 { |
78 fastcgi_pass unix:/tmp/multiplexer-fastcgi.sock; | 79 fastcgi_pass unix:/tmp/multiplexer-fastcgi.sock; |
79 include /etc/nginx/fastcgi_params; | 80 include /etc/nginx/fastcgi_params; |
80 } | 81 } |
81 <% end %> | 82 <% end %> |
82 <% end %> | 83 <% end %> |
OLD | NEW |