Есть следующая структура страниц
pages
- [host]
- index.tsx
- about.tsx
Есть следующий мидлвейр
const PROD_HOST = "prod.com";
const PUBLIC_RX = /\.(.*)$/;
function middleware(req) {
const host = req.headers.get("host");
const path = req.nextUrl.pathname;
if (host !== PROD_HOST) {
if (isIgnored(path)) {
return NextResponse.next();
}
const newPath = `${host}/${path}`;
return NextResponse.rewrite(new URL(newPath, req.nextUrl));
}
return NextResponse.next();
}
function isIgnored(path) {
return path.startsWith("/_next") || path.startsWith("/static") || PUBLIC_RX.test(path);
}
Здесь я просто игнорирую все статические файлы, а реврайчу только страницы.
При первом заходе все отлично грузится - пропсы прилетают как на сервере, так и на клиенте. Но при навигации на другие страницы пропсы на сервере есть, а вот на клиенте - пустой объект. В девтулзах запрос за json'ом страницы (там все ее пропсы) завершается успехом, но пропсы все равно не прилетают на клиенте.
В чем может быть проблема? Может сталкивался кто с этим?
UPD:
Например, зашел на страницу index.tsx, далее пошел на about.tsx, в консоли запрос /_next/development/about.json, пропсы внутри файла есть, а вот на клиенте их нет
Также заметил, что если заходишь на первую страницу, рядом с запросом за json есть кверя ?host=... А вот когда уже на клиенте переходишь куда-то, в запросе этой квери почему-то нет. Может в этом причина? Но как такое пофиксить? Некст не предоставляет нам доступ к таким данным