| 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,80 @@ | 
| +# Puppet: <%= @title %> | 
| + | 
| +root /var/www/<%= @domain %>; | 
| +index index; | 
| +default_type text/html; | 
| +charset utf-8; | 
| + | 
| +set $index_page "index"; | 
| + | 
| +<% if @custom_config %> | 
| +<%=   @custom_config %> | 
| +<% end %> | 
| + | 
| +location / | 
| +{ | 
| +  expires 1d; | 
| + | 
| +  # Redirect server/language root | 
| + | 
| +  rewrite ^/$ /$index_page last; | 
| +  rewrite ^/([a-z][a-z](_[A-Z][A-Z])?)$ /$1/ permanent; | 
| +  rewrite ^/([a-z][a-z](_[A-Z][A-Z])?)/$ /$1/$index_page last; | 
| + | 
| +  # Match Accept-Language header against available languages | 
| + | 
| +  set $language en; | 
| +  set $region ""; | 
| + | 
| +  if ($http_accept_language ~ ^([a-z][a-z])\b) | 
| +  { | 
| +    set $language $1; | 
| +  } | 
| +  if ($http_accept_language ~ ^([a-z][a-z])-([A-Z][A-Z])\b) | 
| +  { | 
| +    set $region $1; | 
| +  } | 
| + | 
| +  if ($arg_fb_locale ~ ^([a-z][a-z])_([A-Z][A-Z])$) | 
| +  { | 
| +    set $language $1; | 
| +    set $region $2; | 
| +  } | 
| + | 
| +  # Redirect canonical URLs to language-specific versions | 
| + | 
| +  if (-e "$document_root/${language}_$region$uri") | 
| +  { | 
| +    rewrite ^(.*) /${language}_$region last; | 
| +  } | 
| +  if (-e "$document_root/$language$uri") | 
| +  { | 
| +    rewrite ^(.*) /$language$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])(/.+) | 
| +{ | 
| +  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; | 
| +  } | 
| +} | 
|  |