diff options
author | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-09-09 18:40:56 +0300 |
---|---|---|
committer | Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com> | 2016-09-09 18:42:02 +0300 |
commit | 43bf9ed38e92919f143f84b6e3d09d10db883103 (patch) | |
tree | a21949c20400f1cab9bae28b95e295428f01a318 /hugolib | |
parent | 4df86a703a56b3c6a75bbba20d581e7422858e09 (diff) |
Redirect to root when DefaultContentLanguageInSubdir = false
Fixes #2422
Diffstat (limited to 'hugolib')
-rw-r--r-- | hugolib/hugo_sites_test.go | 3 | ||||
-rw-r--r-- | hugolib/site.go | 18 |
2 files changed, 16 insertions, 5 deletions
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, `<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") 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 + } } } |