diff --git a/packages/core/strapi/src/node/vite/watch.ts b/packages/core/strapi/src/node/vite/watch.ts index 493922ff1e..9611b45d65 100644 --- a/packages/core/strapi/src/node/vite/watch.ts +++ b/packages/core/strapi/src/node/vite/watch.ts @@ -57,10 +57,21 @@ const watch = async (ctx: BuildContext): Promise => { const viteMiddlewares: Core.MiddlewareHandler = (koaCtx, next) => { return new Promise((resolve, reject) => { + const prefix = ctx.basePath.replace(ctx.adminPath, '').replace(/\/+$/, ''); + + const originalPath = koaCtx.path; + if (!koaCtx.path.startsWith(prefix)) { + koaCtx.path = `${prefix}${koaCtx.path}`; + } + vite.middlewares(koaCtx.req, koaCtx.res, (err: unknown) => { if (err) { reject(err); } else { + if (!koaCtx.res.headersSent) { + koaCtx.path = originalPath; + } + resolve(next()); } });