diff --git a/hugolib/hugo_sites_test.go b/hugolib/hugo_sites_test.go index 4a6001339..bae7c1e08 100644 --- a/hugolib/hugo_sites_test.go +++ b/hugolib/hugo_sites_test.go @@ -93,6 +93,9 @@ func doTestMultiSitesMainLangInRoot(t *testing.T, defaultInSubDir bool) { if defaultInSubDir { // should have a redirect on top level. assertFileContent(t, "public/index.html", true, ``) + } else { + // should have redirect back to root + assertFileContent(t, "public/fr/index.html", true, ``) } assertFileContent(t, "public/fr/index.html", defaultInSubDir, "Home", "Bonjour") assertFileContent(t, "public/en/index.html", defaultInSubDir, "Home", "Hello") diff --git a/hugolib/site.go b/hugolib/site.go index 3e537c93d..6bff3b038 100644 --- a/hugolib/site.go +++ b/hugolib/site.go @@ -1457,12 +1457,20 @@ func (s *Site) renderAliases() error { } } - 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 + } } }