如何在Next.js中添加301重定向(从HTTP到HTTPS)?

3

如何在Next.js中添加301重定向(从http到https)?

例如 - 从此网址"http://stackoverflow.com/"到此"https://stackoverflow.com/"?

1个回答

1
您可以从_app.js中进行操作,方法如下:

res.writeHead(301, { Location: `https://${req?.headers.host}/${asPath}` })

如果您有转发协议头,则还可以检查以下内容:
req.headers['x-forwarded-proto'] === 'http'

否则,您必须自己确定您所在的位置是http还是https。例如,您可以尝试解析URL:
const url = new URL('http://example.com')
console.log(url.protocol) // output: "http:"

如何知道我是否使用HTTP还是HTTPS? 我总是看到req.headers ['x-forwarded-proto']和req.connection.encrypted中的undefined。 - Kirill Margheriti

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接