| OLD | NEW | 
|---|
| 1 server | 1 expires 1d; | 
|  | 2 | 
|  | 3 root /var/www/<%= vhost %>; | 
|  | 4 index index; | 
|  | 5 default_type text/html; | 
|  | 6 | 
|  | 7 <% if custom_config %> | 
|  | 8   <%= custom_config %> | 
|  | 9 <% end %> | 
|  | 10 | 
|  | 11 # Match Accept-Language header against available languages | 
|  | 12 | 
|  | 13 set $preferredLang ""; | 
|  | 14 if ($http_accept_language ~ ^(\w\w)-(\w\w)\b) | 
| 2 { | 15 { | 
| 3   <% if is_default %> | 16   set $preferrredLang $1_$2; | 
| 4     listen 80 default_server; | 17 } | 
| 5     listen [::]:80 default_server; | 18 if (!-f $document_root/$preferredLang/index) | 
| 6   <% else %> | 19 { | 
| 7     listen 80; | 20   set $preferredLang ""; | 
| 8     listen [::]:80; |  | 
| 9   <% end %> |  | 
| 10 |  | 
| 11   server_name '<%= vhost %>'; |  | 
| 12 |  | 
| 13   location / |  | 
| 14   { |  | 
| 15     rewrite (.*) https://<%= vhost %>$1 permanent; |  | 
| 16   } |  | 
| 17 } | 21 } | 
| 18 | 22 | 
| 19 server | 23 set $temp "$preferredLang|$http_accept_language"; | 
|  | 24 if ($temp ~ ^\|(\w\w)\b) | 
| 20 { | 25 { | 
| 21   <% if is_default %> | 26   set $preferredLang $1; | 
| 22     listen 443 ssl default_server; | 27 } | 
| 23     listen [::]:443 ssl default_server; | 28 if (!-f $document_root/$preferredLang/index) | 
| 24   <% else %> | 29 { | 
| 25     listen 443 ssl; |  | 
| 26     listen [::]:443 ssl; |  | 
| 27   <% end %> |  | 
| 28 |  | 
| 29   server_name '<%= vhost %>'; |  | 
| 30 |  | 
| 31   ssl_certificate sites-available/adblockplus.org_sslcert.pem; |  | 
| 32   ssl_certificate_key sites-available/adblockplus.org_sslcert.key; |  | 
| 33 |  | 
| 34   expires 1d; |  | 
| 35 |  | 
| 36   root /var/www/<%= vhost %>; |  | 
| 37   index index; |  | 
| 38   default_type text/html; |  | 
| 39 |  | 
| 40   <% if custom_config %> |  | 
| 41     <%= custom_config %> |  | 
| 42   <% end %> |  | 
| 43 |  | 
| 44   # Match Accept-Language header against available languages |  | 
| 45 |  | 
| 46   set $preferredLang ""; | 30   set $preferredLang ""; | 
| 47   if ($http_accept_language ~ ^(\w\w)-(\w\w)\b) |  | 
| 48   { |  | 
| 49     set $preferrredLang $1_$2; |  | 
| 50   } |  | 
| 51   if (!-f $document_root/$preferredLang/index) |  | 
| 52   { |  | 
| 53     set $preferredLang ""; |  | 
| 54   } |  | 
| 55 |  | 
| 56   set $temp "$preferredLang|$http_accept_language"; |  | 
| 57   if ($temp ~ ^\|(\w\w)\b) |  | 
| 58   { |  | 
| 59     set $preferredLang $1; |  | 
| 60   } |  | 
| 61   if (!-f $document_root/$preferredLang/index) |  | 
| 62   { |  | 
| 63     set $preferredLang ""; |  | 
| 64   } |  | 
| 65 |  | 
| 66   if ($preferredLang = "") |  | 
| 67   { |  | 
| 68     set $preferredLang "en"; |  | 
| 69   } |  | 
| 70 |  | 
| 71   # Always redirect server root |  | 
| 72 |  | 
| 73   rewrite ^/$ /$preferredLang/ last; |  | 
| 74 |  | 
| 75   # Don't do anything if requested file exists |  | 
| 76 |  | 
| 77   if (-f $request_filename) |  | 
| 78   { |  | 
| 79     break; |  | 
| 80   } |  | 
| 81   if (-d $request_filename) |  | 
| 82   { |  | 
| 83     break; |  | 
| 84   } |  | 
| 85 |  | 
| 86   # Redirect canonical URLs to language-specific versions |  | 
| 87 |  | 
| 88   set $canonical $uri; |  | 
| 89   if ($canonical ~ ^(.*?)\?) |  | 
| 90   { |  | 
| 91     set $canonical $1; |  | 
| 92   } |  | 
| 93 |  | 
| 94   if (-f $document_root/$preferredLang$canonical) |  | 
| 95   { |  | 
| 96     rewrite ^ /$preferredLang$canonical last; |  | 
| 97   } |  | 
| 98   if (-f $document_root/en$canonical) |  | 
| 99   { |  | 
| 100     rewrite ^ /en$canonical last; |  | 
| 101   } |  | 
| 102 |  | 
| 103   <% if @multiplexer_locations %> |  | 
| 104     <% @multiplexer_locations.each do |location| %> |  | 
| 105     location <%= location %> |  | 
| 106     { |  | 
| 107       fastcgi_pass unix:/tmp/multiplexer-fastcgi.sock; |  | 
| 108       include /etc/nginx/fastcgi_params; |  | 
| 109     } |  | 
| 110     <% end %> |  | 
| 111   <% end %> |  | 
| 112 } | 31 } | 
| 113 | 32 | 
| 114 <% if @aliases %> | 33 if ($preferredLang = "") | 
| 115   <% @aliases.each do |vhost_alias| %> | 34 { | 
| 116     server | 35   set $preferredLang "en"; | 
| 117     { | 36 } | 
| 118       listen 80; |  | 
| 119       listen [::]:80; |  | 
| 120       listen 443 ssl; |  | 
| 121       listen [::]:443 ssl; |  | 
| 122 | 37 | 
| 123       server_name '<%= vhost_alias %>'; | 38 # Always redirect server root | 
| 124 | 39 | 
| 125       ssl_certificate sites-available/adblockplus.org_sslcert.pem; | 40 rewrite ^/$ /$preferredLang/ last; | 
| 126       ssl_certificate_key sites-available/adblockplus.org_sslcert.key; |  | 
| 127 | 41 | 
| 128       location / | 42 # Don't do anything if requested file exists | 
| 129       { | 43 | 
| 130         rewrite .* https://<%= vhost %>/ redirect; | 44 if (-f $request_filename) | 
| 131       } | 45 { | 
| 132     } | 46   break; | 
|  | 47 } | 
|  | 48 if (-d $request_filename) | 
|  | 49 { | 
|  | 50   break; | 
|  | 51 } | 
|  | 52 | 
|  | 53 # Redirect canonical URLs to language-specific versions | 
|  | 54 | 
|  | 55 set $canonical $uri; | 
|  | 56 if ($canonical ~ ^(.*?)\?) | 
|  | 57 { | 
|  | 58   set $canonical $1; | 
|  | 59 } | 
|  | 60 | 
|  | 61 if (-f $document_root/$preferredLang$canonical) | 
|  | 62 { | 
|  | 63   rewrite ^ /$preferredLang$canonical last; | 
|  | 64 } | 
|  | 65 if (-f $document_root/en$canonical) | 
|  | 66 { | 
|  | 67   rewrite ^ /en$canonical last; | 
|  | 68 } | 
|  | 69 | 
|  | 70 <% if @multiplexer_locations %> | 
|  | 71   <% @multiplexer_locations.each do |location| %> | 
|  | 72   location <%= location %> | 
|  | 73   { | 
|  | 74     fastcgi_pass unix:/tmp/multiplexer-fastcgi.sock; | 
|  | 75     include /etc/nginx/fastcgi_params; | 
|  | 76   } | 
| 133   <% end %> | 77   <% end %> | 
| 134 <% end %> | 78 <% end %> | 
| OLD | NEW | 
|---|