Index: modules/web/templates/site.conf.erb
===================================================================
--- a/modules/web/templates/site.conf.erb
+++ b/modules/web/templates/site.conf.erb
@@ -55,6 +55,26 @@
 
 }
 
+# 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;
+  }
+}
+
 <% if @multiplexer_locations %>
   <% @multiplexer_locations.each do |location| %>
   location <%= location %>
