diff --git a/packages/start/src/server/handler.ts b/packages/start/src/server/handler.ts index cdcacc600..d8be6df47 100644 --- a/packages/start/src/server/handler.ts +++ b/packages/start/src/server/handler.ts @@ -31,8 +31,7 @@ export function createBaseHandler( middleware: middleware.length ? middleware.map(decorateMiddleware): undefined, handler: decorateHandler(async (e: H3Event) => { const event = getRequestEvent()!; - const url = new URL(event.request.url); - const pathname = url.pathname; + const pathname = e.url.pathname; const serverFunctionTest = join(import.meta.env.BASE_URL, SERVER_FN_BASE); if (pathname.startsWith(serverFunctionTest)) { diff --git a/packages/start/src/server/server-functions-handler.ts b/packages/start/src/server/server-functions-handler.ts index 2466567d0..a95633cfe 100644 --- a/packages/start/src/server/server-functions-handler.ts +++ b/packages/start/src/server/server-functions-handler.ts @@ -82,6 +82,8 @@ export async function handleServerFunction(h3Event: H3Event) { const serverReference = request.headers.get("X-Server-Id"); const instance = request.headers.get("X-Server-Instance"); const singleFlight = request.headers.has("X-Single-Flight"); + const url = h3Event.url; + let functionId: string | undefined | null, name: string | undefined | null; const url = new URL(request.url); let functionId: string | undefined | null; if (serverReference) { @@ -317,6 +319,8 @@ async function handleSingleFlight( if (result.headers.has("Location")) url = new URL( result.headers.get("Location")!, + sourceEvent.nativeEvent.url.origin + + import.meta.env.SERVER_BASE_URL, new URL(sourceEvent.request.url).origin + import.meta.env.BASE_URL, ).toString();