Left: | ||
Right: |
LEFT | RIGHT |
---|---|
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 | |
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; | |
15 | 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) |
(...skipping 14 matching lines...) Expand all Loading... | |
39 rewrite ^(.*) /${preferredLang}_$preferredRegion$1 last; | 45 rewrite ^(.*) /${preferredLang}_$preferredRegion$1 last; |
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 | |
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 } | 55 } |
56 | 56 |
57 # http://hub.eyeo.com/issues/3299 Redirect missing translations to default | 57 # Redirect language URIs if no translations are found for the requested page |
58 location ~ ^/([a-z][a-z])(/.+) { | 58 |
59 location ~ ^/([a-z][a-z]\_[A-Z][A-Z])(/.+) | |
60 { | |
59 if (!-e "$document_root$uri") | 61 if (!-e "$document_root$uri") |
60 { | 62 { |
61 rewrite ^/([a-z][a-z])(/.+) $2 redirect; | 63 # if there is no language+region translation, try parent language URI |
64 # example /es_MX/page -> /es/page | |
65 rewrite ^/([a-z][a-z])\_([A-Z][A-Z])(/.+) /$1$3 redirect; | |
62 } | 66 } |
63 } | 67 } |
64 | 68 |
65 # http://hub.eyeo.com/issues/3299 Redirect missing translations to default | 69 location ~ ^/([a-z][a-z])(/.+) |
66 location ~ ^/([a-z][a-z]\_[A-Z][A-Z])(/.+) { | 70 { |
f.nicolaisen
2017/09/06 23:00:19
It would be cool if we could join both these locat
| |
67 if (!-e "$document_root$uri") | 71 if (!-e "$document_root$uri") |
68 { | 72 { |
69 rewrite ^/([a-z][a-z]\_[A-Z][A-Z])(/.+) $2 redirect; | 73 # if there is no language translation, try canonical page for default langua ge |
f.nicolaisen
2017/09/06 23:00:19
Lots of duplication here :(
| |
74 # example /es/page -> /page | |
75 rewrite ^/([a-z][a-z])(/.+) $2 redirect; | |
70 } | 76 } |
71 } | 77 } |
72 | 78 |
73 <% if @multiplexer_locations %> | 79 <% if @multiplexer_locations %> |
74 <% @multiplexer_locations.each do |location| %> | 80 <% @multiplexer_locations.each do |location| %> |
75 location <%= location %> | 81 location <%= location %> |
76 { | 82 { |
77 fastcgi_pass unix:/tmp/multiplexer-fastcgi.sock; | 83 fastcgi_pass unix:/tmp/multiplexer-fastcgi.sock; |
78 include /etc/nginx/fastcgi_params; | 84 include /etc/nginx/fastcgi_params; |
79 } | 85 } |
80 <% end %> | 86 <% end %> |
81 <% end %> | 87 <% end %> |
LEFT | RIGHT |