diff --git a/packages/next/server/base-server.ts b/packages/next/server/base-server.ts index f2d03427c6dd2f1..cb56074547fe1af 100644 --- a/packages/next/server/base-server.ts +++ b/packages/next/server/base-server.ts @@ -423,6 +423,10 @@ export default abstract class Server { const urlParts = (req.url || '').split('?') const urlNoQuery = urlParts[0] + // this normalizes repeated slashes in the path e.g. hello//world -> + // hello/world or backslashes to forward slashes, this does not + // handle trailing slash as that is handled the same as a next.config.js + // redirect if (urlNoQuery?.match(/(\\|\/\/)/)) { const cleanUrl = normalizeRepeatedSlashes(req.url!) res.redirect(cleanUrl, 308).body(cleanUrl).send()