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
+ }
}
}