| Index: modules/adblockplus/templates/web/static.conf.erb |
| =================================================================== |
| new file mode 100644 |
| --- /dev/null |
| +++ b/modules/adblockplus/templates/web/static.conf.erb |
| @@ -0,0 +1,79 @@ |
| +# Puppet: <%= @title %> |
|
mathias
2018/03/27 14:46:52
Please don't simply copy from our legacy. There's
|
| + |
| +root /var/www/<%= @domain %>; |
| +index index; |
| +default_type text/html; |
| +charset utf-8; |
| + |
| +set $index_page "index"; |
| + |
| +<% if @custom_config %> |
| + <%= @custom_config %> |
|
mathias
2018/03/27 14:46:52
We know the two spaces in front of the custom conf
f.lopez
2018/03/27 19:29:50
Acknowledged.
|
| +<% end %> |
| + |
| +location / |
| +{ |
| + expires 1d; |
| + |
| + # Redirect server/language root |
| + |
| + rewrite ^/$ /$index_page last; |
| + rewrite ^/(\w\w(_\w\w)?)$ /$1/ permanent; |
| + rewrite ^/(\w\w(_\w\w)?)/$ /$1/$index_page last; |
| + |
| + # Match Accept-Language header against available languages |
| + |
| + set $preferredLang en; |
| + set $preferredRegion ""; |
|
mathias
2018/03/27 14:46:52
Please avoid camel case where possible, and always
f.lopez
2018/03/27 19:29:51
Acknowledged.
|
| + if ($http_accept_language ~ ^(\w\w)\b) |
|
mathias
2018/03/27 14:46:52
An empty line in front of this block would be appr
f.lopez
2018/03/27 19:29:51
Acknowledged.
|
| + { |
| + set $preferredLang $1; |
| + } |
| + if ($http_accept_language ~ ^\w\w-(\w\w)\b) |
| + { |
| + set $preferredRegion $1; |
| + } |
| + |
| + if ($arg_fb_locale ~ ^(\w\w)_(\w\w)$) |
| + { |
| + set $preferredLang $1; |
| + set $preferredRegion $2; |
| + } |
| + |
| + # Redirect canonical URLs to language-specific versions |
| + |
| + if (-e "$document_root/${preferredLang}_$preferredRegion$uri") |
| + { |
| + rewrite ^(.*) /${preferredLang}_$preferredRegion$1 last; |
| + } |
| + if (-e "$document_root/$preferredLang$uri") |
| + { |
| + rewrite ^(.*) /$preferredLang$1 last; |
| + } |
| + if (-e "$document_root/en$uri") |
| + { |
| + rewrite ^(.*) /en$1 last; |
| + } |
| +} |
| + |
| +# Redirect language URIs if no translations are found for the requested page |
| + |
| +location ~ ^/([a-z][a-z]\_[A-Z][A-Z])(/.+) |
|
mathias
2018/03/27 14:46:52
Why use [a-z] here but \w above?
Why use [A-Z] her
f.lopez
2018/03/27 19:29:51
Not sure, gonna try it with \w, I reused what we a
f.lopez
2018/03/28 16:05:09
This is because how the translations pages are bui
|
| +{ |
| + if (!-e "$document_root$uri") |
| + { |
| + # if there is no language+region translation, try parent language URI |
| + # example /es_MX/page -> /es/page |
| + rewrite ^/([a-z][a-z])\_([A-Z][A-Z])(/.+) /$1$3 redirect; |
| + } |
| +} |
| + |
| +location ~ ^/([a-z][a-z])(/.+) |
| +{ |
| + if (!-e "$document_root$uri") |
| + { |
| + # if there is no language translation, try canonical page for default language |
| + # example /es/page -> /page |
| + rewrite ^/([a-z][a-z])(/.+) $2 redirect; |
| + } |
| +} |