Reputation: 29
Im getting frequently errors like this after deploy on server:
Error: Requested and resolved page mismatch: //pipe/31c28e30-fd19-4130-ac0c-32d155841c12/_next/static/jh1CfGVGeGbuBSqLYny_c/_middlewareManifest.js /pipe/31c28e30-fd19-4130-ac0c-32d155841c12/_next/static/jh1CfGVGeGbuBSqLYny_c/_middlewareManifest.js
at Object.normalizePagePath (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\normalize-page-path.js:35:15)
at Object.getPagePath (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\require.js:24:84)
at NextNodeServer.getPagePath (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\next-server.js:411:30)
at NextNodeServer.hasPage (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\base-server.js:535:28)
at NextNodeServer.runMiddleware (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\next-server.js:820:24)
at Object.fn (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\next-server.js:691:41)
at Router.execute (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\router.js:228:48)
at NextNodeServer.run (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\base-server.js:600:47)
at NextNodeServer.handleRequest (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\base-server.js:307:31)
at NextNodeServer.<anonymous> (D:\Host\BetaDemo.mySite.com\node_modules\next\dist\server\next-server.js:483:20)
How can I fix it?
Upvotes: 1
Views: 2112
Reputation: 29
The problem was fixed after changing the _middleware file from this:
import {NextResponse} from 'next/server';
const Middleware = (req) => {
const {pathname} = req.nextUrl;
if (pathname.includes('/%')) {
return NextResponse.rewrite(`/statics/${pathname.slice(pathname.indexOf('%'))}`);
}
if (pathname === pathname.toLowerCase()) {
return NextResponse.next();
}
return NextResponse.redirect(`${req.nextUrl.origin}${pathname.toLowerCase()}`);
};
export default Middleware;
to this:
import { NextResponse } from 'next/server';
export function middleware(req) {
const url = req.nextUrl.clone();
if (url.pathname === url.pathname.toLowerCase()) {
return NextResponse.next();
}
if (url.pathname.includes('/%')) {
url.pathname = '/statics/' +
url.pathname.slice(url.pathname.indexOf('%'));
return NextResponse.rewrite(url);
}
return NextResponse.next();
}
and changing my next version from 12.1 to latest in packages.json
Upvotes: 1