shithub: hugo

Download patch

ref: 43bf9ed38e92919f143f84b6e3d09d10db883103
parent: 4df86a703a56b3c6a75bbba20d581e7422858e09
author: Bjørn Erik Pedersen <[email protected]>
date: Fri Sep 9 13:40:56 EDT 2016

Redirect to root when DefaultContentLanguageInSubdir = false

Fixes #2422

--- a/hugolib/hugo_sites_test.go
+++ b/hugolib/hugo_sites_test.go
@@ -93,6 +93,9 @@
 	if defaultInSubDir {
 		// should have a redirect on top level.
 		assertFileContent(t, "public/index.html", true, `<meta http-equiv="refresh" content="0; url=http://example.com/blog/fr" />`)
+	} else {
+		// should have redirect back to root
+		assertFileContent(t, "public/fr/index.html", true, `<meta http-equiv="refresh" content="0; url=http://example.com/blog" />`)
 	}
 	assertFileContent(t, "public/fr/index.html", defaultInSubDir, "Home", "Bonjour")
 	assertFileContent(t, "public/en/index.html", defaultInSubDir, "Home", "Hello")
--- a/hugolib/site.go
+++ b/hugolib/site.go
@@ -1457,12 +1457,20 @@
 		}
 	}
 
-	if s.owner.multilingual.enabled() && s.Info.defaultContentLanguageInSubdir {
+	if s.owner.multilingual.enabled() {
 		mainLang := s.owner.multilingual.DefaultLang.Lang
-		mainLangURL := helpers.AbsURL(mainLang, false)
-		jww.DEBUG.Printf("Write redirect to main language %s: %s", mainLang, mainLangURL)
-		if err := s.publishDestAlias(s.languageAliasTarget(), "/", mainLangURL); err != nil {
-			return err
+		if s.Info.defaultContentLanguageInSubdir {
+			mainLangURL := helpers.AbsURL(mainLang, false)
+			jww.DEBUG.Printf("Write redirect to main language %s: %s", mainLang, mainLangURL)
+			if err := s.publishDestAlias(s.languageAliasTarget(), "/", mainLangURL); err != nil {
+				return err
+			}
+		} else {
+			mainLangURL := helpers.AbsURL("", false)
+			jww.DEBUG.Printf("Write redirect to main language %s: %s", mainLang, mainLangURL)
+			if err := s.publishDestAlias(s.languageAliasTarget(), mainLang, mainLangURL); err != nil {
+				return err
+			}
 		}
 	}