diff options
author | Bjørn Erik Pedersen <[email protected]> | 2024-12-12 15:42:17 +0100 |
---|---|---|
committer | Bjørn Erik Pedersen <[email protected]> | 2024-12-12 21:47:03 +0100 |
commit | 75ad9cdaaba5e2c13582cd95bc77fb1b570e0b75 (patch) | |
tree | e1d7ced0347c5cfcd3a0515f9b5244f898426190 | |
parent | e293e7ca6dcc34cded7eb90a644b5c720c2179cf (diff) | |
download | hugo-75ad9cdaaba5e2c13582cd95bc77fb1b570e0b75.tar.gz hugo-75ad9cdaaba5e2c13582cd95bc77fb1b570e0b75.zip |
Add config option disableDefaultLanguageRedirect
Fixes #13133
-rw-r--r-- | config/allconfig/allconfig.go | 3 | ||||
-rw-r--r-- | hugolib/config_test.go | 23 | ||||
-rw-r--r-- | hugolib/site_render.go | 3 |
3 files changed, 29 insertions, 0 deletions
diff --git a/config/allconfig/allconfig.go b/config/allconfig/allconfig.go index b158d8a90..be4480f45 100644 --- a/config/allconfig/allconfig.go +++ b/config/allconfig/allconfig.go @@ -505,6 +505,9 @@ type RootConfig struct { // Set this to true to put all languages below their language ID. DefaultContentLanguageInSubdir bool + // Disable generation of redirect to the default language when DefaultContentLanguageInSubdir is enabled. + DisableDefaultLanguageRedirect bool + // Disable creation of alias redirect pages. DisableAliases bool diff --git a/hugolib/config_test.go b/hugolib/config_test.go index c9db0d2f0..c0bfde37d 100644 --- a/hugolib/config_test.go +++ b/hugolib/config_test.go @@ -1339,6 +1339,29 @@ Home. b.Assert(len(b.H.Sites), qt.Equals, 1) } +func TestDisableDefaultLanguageRedirect(t *testing.T) { + t.Parallel() + + files := ` +-- hugo.toml -- +defaultContentLanguageInSubdir = true +disableDefaultLanguageRedirect = true +[languages] +[languages.en] +title = "English Title" +[languages.sv] +title = "Swedish Title" +-- layouts/index.html -- +Home. + + +` + b := Test(t, files) + + b.Assert(len(b.H.Sites), qt.Equals, 2) + b.AssertFileExists("public/index.html", false) +} + func TestLoadConfigYamlEnvVar(t *testing.T) { defaultEnv := []string{`HUGO_OUTPUTS=home: ['json']`} diff --git a/hugolib/site_render.go b/hugolib/site_render.go index 83f2fce89..e5b2b62ab 100644 --- a/hugolib/site_render.go +++ b/hugolib/site_render.go @@ -334,6 +334,9 @@ func (s *Site) renderAliases() error { // renderMainLanguageRedirect creates a redirect to the main language home, // depending on if it lives in sub folder (e.g. /en) or not. func (s *Site) renderMainLanguageRedirect() error { + if s.conf.DisableDefaultLanguageRedirect { + return nil + } if s.h.Conf.IsMultihost() || !(s.h.Conf.DefaultContentLanguageInSubdir() || s.h.Conf.IsMultilingual()) { // No need for a redirect return nil |