-
Notifications
You must be signed in to change notification settings - Fork 27k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Re-add domain locale redirect handling #18274
Conversation
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
buildDuration | 12.3s | 12.7s | |
nodeModulesSize | 91.3 MB | 91.3 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.157 | 2.315 | |
/ avg req/sec | 1159.04 | 1079.94 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.237 | 1.319 | |
/error-in-render avg req/sec | 2021.46 | 1896.09 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
677f882d2ed8..574c.js gzip | 11.2 kB | 11.2 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-44c1a22..6e4a.js gzip | 7.34 kB | 7.34 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 58.3 kB | 58.3 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 7.02 kB | 7.02 kB | ✓ |
framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
main-e8f31b5..dule.js gzip | 6.32 kB | 6.32 kB | ✓ |
webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 53.1 kB | 53.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-ed1b0..8fbd.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-41ceea0..6b62.js gzip | 1.35 kB | 1.35 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.75 kB | 7.75 kB | ✓ |
Client Pages Modern
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
_error-4469a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
link-2d41a89..dule.js gzip | 1.31 kB | 1.31 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.4 kB | 5.4 kB | ✓ |
Client Build Manifests
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_buildManifest.js gzip | 323 B | 323 B | ✓ |
_buildManife..dule.js gzip | 329 B | 329 B | ✓ |
Overall change | 652 B | 652 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
index.html gzip | 1 kB | 1 kB | ✓ |
link.html gzip | 1.01 kB | 1.01 kB | ✓ |
withRouter.html gzip | 995 B | 995 B | ✓ |
Overall change | 3.01 kB | 3.01 kB | ✓ |
Serverless Mode
General Overall increase ⚠️
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
buildDuration | 13.4s | 13.7s | |
nodeModulesSize | 91.3 MB | 91.3 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
677f882d2ed8..574c.js gzip | 11.2 kB | 11.2 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-44c1a22..6e4a.js gzip | 7.34 kB | 7.34 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 58.3 kB | 58.3 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 7.02 kB | 7.02 kB | ✓ |
framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
main-e8f31b5..dule.js gzip | 6.32 kB | 6.32 kB | ✓ |
webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 53.1 kB | 53.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-ed1b0..8fbd.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-41ceea0..6b62.js gzip | 1.35 kB | 1.35 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.75 kB | 7.75 kB | ✓ |
Client Pages Modern
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
_error-4469a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
link-2d41a89..dule.js gzip | 1.31 kB | 1.31 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.4 kB | 5.4 kB | ✓ |
Client Build Manifests
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_buildManifest.js gzip | 323 B | 323 B | ✓ |
_buildManife..dule.js gzip | 329 B | 329 B | ✓ |
Overall change | 652 B | 652 B | ✓ |
Serverless bundles
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_error.js | 1.06 MB | 1.06 MB | ✓ |
404.html | 4.73 kB | 4.73 kB | ✓ |
hooks.html | 3.92 kB | 3.92 kB | ✓ |
index.js | 1.06 MB | 1.06 MB | ✓ |
link.js | 1.1 MB | 1.1 MB | ✓ |
routerDirect.js | 1.1 MB | 1.1 MB | ✓ |
withRouter.js | 1.1 MB | 1.1 MB | ✓ |
Overall change | 5.42 MB | 5.42 MB | ✓ |
Stats from current PRDefault Server Mode (Decrease detected ✓)General Overall increase
|
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
buildDuration | 13.6s | 13.3s | -364ms |
nodeModulesSize | 91.3 MB | 91.3 MB |
Page Load Tests Overall decrease ⚠️
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.38 | 2.477 | |
/ avg req/sec | 1050.52 | 1009.35 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.36 | 1.418 | |
/error-in-render avg req/sec | 1838.63 | 1762.87 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
677f882d2ed8..574c.js gzip | 11.2 kB | 11.2 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-44c1a22..6e4a.js gzip | 7.34 kB | 7.34 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 58.3 kB | 58.3 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 7.02 kB | 7.02 kB | ✓ |
framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
main-e8f31b5..dule.js gzip | 6.32 kB | 6.32 kB | ✓ |
webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 53.1 kB | 53.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-ed1b0..8fbd.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-41ceea0..6b62.js gzip | 1.35 kB | 1.35 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.75 kB | 7.75 kB | ✓ |
Client Pages Modern
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
_error-4469a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
link-2d41a89..dule.js gzip | 1.31 kB | 1.31 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.4 kB | 5.4 kB | ✓ |
Client Build Manifests
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_buildManifest.js gzip | 323 B | 323 B | ✓ |
_buildManife..dule.js gzip | 329 B | 329 B | ✓ |
Overall change | 652 B | 652 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
index.html gzip | 1 kB | 1 kB | ✓ |
link.html gzip | 1.01 kB | 1.01 kB | ✓ |
withRouter.html gzip | 995 B | 995 B | ✓ |
Overall change | 3.01 kB | 3.01 kB | ✓ |
Serverless Mode
General Overall increase ⚠️
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
buildDuration | 15.7s | 15.3s | -395ms |
nodeModulesSize | 91.3 MB | 91.3 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
677f882d2ed8..574c.js gzip | 11.2 kB | 11.2 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-44c1a22..6e4a.js gzip | 7.34 kB | 7.34 kB | ✓ |
webpack-e067..f178.js gzip | 751 B | 751 B | ✓ |
Overall change | 58.3 kB | 58.3 kB | ✓ |
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
677f882d2ed8..dule.js gzip | 7.02 kB | 7.02 kB | ✓ |
framework.HA..dule.js gzip | 39 kB | 39 kB | ✓ |
main-e8f31b5..dule.js gzip | 6.32 kB | 6.32 kB | ✓ |
webpack-07c5..dule.js gzip | 751 B | 751 B | ✓ |
Overall change | 53.1 kB | 53.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
polyfills-4b..e242.js gzip | 31 kB | 31 kB | ✓ |
Overall change | 31 kB | 31 kB | ✓ |
Client Pages
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_app-9a0b9e1..b37e.js gzip | 1.28 kB | 1.28 kB | ✓ |
_error-ed1b0..8fbd.js gzip | 3.44 kB | 3.44 kB | ✓ |
hooks-89731c..c609.js gzip | 887 B | 887 B | ✓ |
index-17468f..5d83.js gzip | 227 B | 227 B | ✓ |
link-41ceea0..6b62.js gzip | 1.35 kB | 1.35 kB | ✓ |
routerDirect..924c.js gzip | 284 B | 284 B | ✓ |
withRouter-7..c13d.js gzip | 284 B | 284 B | ✓ |
Overall change | 7.75 kB | 7.75 kB | ✓ |
Client Pages Modern
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_app-75d3a82..dule.js gzip | 625 B | 625 B | ✓ |
_error-4469a..dule.js gzip | 2.29 kB | 2.29 kB | ✓ |
hooks-cbf13f..dule.js gzip | 387 B | 387 B | ✓ |
index-b9a643..dule.js gzip | 226 B | 226 B | ✓ |
link-2d41a89..dule.js gzip | 1.31 kB | 1.31 kB | ✓ |
routerDirect..dule.js gzip | 284 B | 284 B | ✓ |
withRouter-f..dule.js gzip | 282 B | 282 B | ✓ |
Overall change | 5.4 kB | 5.4 kB | ✓ |
Client Build Manifests
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_buildManifest.js gzip | 323 B | 323 B | ✓ |
_buildManife..dule.js gzip | 329 B | 329 B | ✓ |
Overall change | 652 B | 652 B | ✓ |
Serverless bundles
vercel/next.js canary | ijjk/next.js i18n/domain-locale-redirecting | Change | |
---|---|---|---|
_error.js | 1.06 MB | 1.06 MB | ✓ |
404.html | 4.73 kB | 4.73 kB | ✓ |
hooks.html | 3.92 kB | 3.92 kB | ✓ |
index.js | 1.06 MB | 1.06 MB | ✓ |
link.js | 1.1 MB | 1.1 MB | ✓ |
routerDirect.js | 1.1 MB | 1.1 MB | ✓ |
withRouter.js | 1.1 MB | 1.1 MB | ✓ |
Overall change | 5.42 MB | 5.42 MB | ✓ |
`Both ${item.domain} and ${domainItem.domain} configured the locale (${locale}) but only one can. Remove it from one i18n.domains config to continue` | ||
) | ||
hasInvalidLocale = true | ||
break |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@Timer What if we want to have 2 domains translated in the same language?
Exampe:
example.es
defaultLocale: 'es'
locales: 'en'
example.fr
defaultLocale: 'fr'
locales: 'en'
Is this possible?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another example more realistic. What if we have two domains for Belgium and Switzerland. In both countries French
is a spoken language and we want to offer the content in french in example.ch
and example.be
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi, if you want the domain to be available for multiple domains you can not configure it for any domains and only in the main locales array and it will fallback to path based locale detection. Note: this can potentially negatively affect SEO since it can register as duplicate content on separate domains
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As discussed this re-adds redirecting locale specific domains to the accept-language preferred (unless NEXT_COKIE is used) to help prevent duplicate content on separate domains
x-ref: #17370
continuation of: #18240