3

How to add 301 redirection ( from http to https ) in Next.js?

For example - from this "http://stackoverflow.com/" to this "https://stackoverflow.com/" ?

juliomalves
  • 42,130
  • 20
  • 150
  • 146

1 Answers1

1

You can do it from _app.js, by doing this:

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

If you have forvarded-proto header then you can also check:

req.headers['x-forwarded-proto'] === 'http'

Otherwise you must determine if you are at http or https by yourself, as an example you can try parsing the url:

const url = new URL('http://example.com')
console.log(url.protocol) // output: "http:"
Nikita Mazur
  • 1,602
  • 1
  • 5
  • 14