Masoud Fallahi
Masoud Fallahi

Reputation: 29

nextjs Error after deployment: Requested and resolved page mismatch

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

Answers (1)

Masoud Fallahi
Masoud Fallahi

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

Related Questions