commit 43bf9ed38e92919f143f84b6e3d09d10db883103
parent 4df86a703a56b3c6a75bbba20d581e7422858e09
Author: Bjørn Erik Pedersen <bjorn.erik.pedersen@gmail.com>
Date: Fri, 9 Sep 2016 17:40:56 +0200
Redirect to root when DefaultContentLanguageInSubdir = false
Fixes #2422
Diffstat:
2 files changed, 16 insertions(+), 5 deletions(-)
diff --git 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
@@ -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
+ }
}
}