如何在nuxt.js中进行从www到非www的重定向



谁知道如何在nuxt.js中从www重定向到非www?

提前谢谢。

Incase any仍然存在此问题。

我不得不使用本文使用CloudFlare来解决它https://support.cloudflare.com/hc/en-us/articles/200172286-How-do-I-perform-URL-forwarding-or-redirects-with-Cloudflare-

您也可以使用服务器中间件来实现它https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-servermiddleware#custom-服务器中间件

创建一个文件并粘贴以下代码。

module.exports = function (req, res, next) {
const host = req.headers.host
const url = req.url
const env = process.env.NODE_ENV
const forceDomain = 'https://masteringbackend.com'
if (env === 'production' && host !== 'www.masteringbackend.com') {
res.writeHead(301, { Location: forceDomain + url })
return res.end()
}
return next()
}

然后在serverMiddleware中注册文件

另一种方式

你可以看看https://mindthecode.com/blog/how-to-redirect-www-traffic-to-non-www-in-your-express-app/但请记住,res.redirect仅适用于Express,用于在Connect中进行重定向(纯node.js http(:在Connect 中进行响应重定向

关于Kaperskyguru共享的服务器中间件代码:它几乎是完美的,但"如果线";应该是"==="而不是"=&";。对我来说,这个有效:

module.exports = function (req, res, next) {
const host = req.headers.host
const url = req.url
const env = process.env.NODE_ENV
const forceDomain = 'https://masteringbackend.com'
if (env === 'production' && host === 'www.masteringbackend.com') {
res.writeHead(301, { Location: forceDomain + url })
return res.end()
}
return next()
}

最新更新