1
0
mirror of synced 2025-12-23 21:07:12 -05:00

Add redirects for language-less homepage requests (#20494)

* Redirect homepage to user's language

* Redirect URLs with no language code

* Add leading forward slash

* Revert "Redirect URLs with no language code"

This reverts commit f817ac1136ea0c7e11c4d61327a4445b56a2f5d6.

* Simplify per @zeke

* Add homepage language redirect tests

* Update middleware/redirects/handle-redirects.js

Co-authored-by: Kevin Heis <heiskr@users.noreply.github.com>

* braces are good

Co-authored-by: Kevin Heis <heiskr@users.noreply.github.com>
This commit is contained in:
Robert Sese
2021-08-05 16:46:57 -05:00
committed by GitHub
parent 9ab9e0e349
commit b9ee89fc46
2 changed files with 28 additions and 2 deletions

View File

@@ -1,13 +1,25 @@
import patterns from '../../lib/patterns.js'
import { URL } from 'url'
import languages from '../../lib/languages.js'
export default function handleRedirects(req, res, next) {
// never redirect assets
if (patterns.assetPaths.test(req.path)) return next()
// blanket redirects for languageless homepage to English homepage
// blanket redirects for languageless homepage
if (req.path === '/') {
return res.redirect(301, '/en')
let language = 'en'
// if set, redirect to user's preferred language translation or else English
if (
req.context.userLanguage &&
languages[req.context.userLanguage] &&
!languages[req.context.userLanguage].wip
) {
language = req.context.userLanguage
}
return res.redirect(301, `/${language}`)
}
// begin redirect handling