在生产Next js中,会从中间件中删除头



我有一件奇怪的事。下一篇js 12.3。我使用中间件向标头添加规范链接。一切都在本地工作,并且添加了所需的头,但在生产中部署时,我需要的头不会添加。

如果子域不是www,则规范必须是指向www版本的链接

import { NextRequest, NextResponse } from 'next/server';
export function middleware(req: NextRequest, res: NextResponse) {
const { protocol, href } = req.nextUrl;
const subdomain = href.replace('https://','').split('.')[0];
if (subdomain !== 'www') {
const urlArr = href?.split('//');
const afterSubdomainUrl = urlArr?.slice(1, urlArr.length)?.join('//');
const response = NextResponse.next();
response.headers.append(
'Link',
`<${protocol}//www.${afterSubdomainUrl}>; rel="canonical"`,
);
return response;
}
}

问题出现在DockerFile-需要在应用程序/Dockerfile

COPY middleware.ts /app/middleware.ts
RUN true

最新更新