Skip to content

Commit f9f9c78

Browse files
author
art-alexeyenko
committed
[sitecore-jss-nextjs]: fixed redirects middleware when pattern use default locale in regexp (#1696)
1 parent 4516387 commit f9f9c78

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

CHANGELOG.md

+6
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,12 @@ Our versioning strategy is as follows:
99
- Minor: may include breaking changes in framework packages (e.g. framework upgrades, new features, improvements)
1010
- Major: may include breaking changes in core packages (e.g. major architectural changes, major features)
1111

12+
## Unreleased
13+
14+
### 🐛 Bug Fixes
15+
16+
* `[sitecore-jss-nextjs]` Fix loop error in redirect middleware when the pattern of redirect has default locale. ([#1696](https://github.com/Sitecore/jss/pull/1696))
17+
1218
## 21.5.2
1319

1420
### 🎉 New Features & Improvements

packages/sitecore-jss-nextjs/src/middleware/redirects-middleware.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,12 @@ export class RedirectsMiddleware extends MiddlewareBase {
169169
const redirects = await this.redirectsService.fetchRedirects(siteName);
170170
const tragetURL = req.nextUrl.pathname;
171171
const targetQS = req.nextUrl.search || '';
172+
const language = this.getLanguage(req);
173+
const modifyRedirects = structuredClone(redirects);
172174

173-
return redirects.length
174-
? redirects.find((redirect: RedirectInfo) => {
175+
return modifyRedirects.length
176+
? modifyRedirects.find((redirect: RedirectInfo) => {
177+
redirect.pattern = redirect.pattern.replace(RegExp(`^[^]?/${language}/`, 'gi'), '');
175178
redirect.pattern = `/^\/${redirect.pattern
176179
.replace(/^\/|\/$/g, '')
177180
.replace(/^\^\/|\/\$$/g, '')

0 commit comments

Comments
 (0)