我有一个 NUXT 项目,我正在尝试向其中添加 301 重定向。我尝试了几种不同的方法,但没有任何效果。如果我访问旧的 URL,我会收到 404 页面。
将重定向添加到 Nuxt 项目的最佳方法是什么?
任何帮助,将不胜感激。
const redirects =
[
{ from: 'https://www. example.com/article/new-guidelines-new-normal-new-opportunities-new-working-environments', to: 'https://www. example.com' },
{ from: 'https://www. example.com/article/vetting-candidate-why-its-a-no-brainer', to: 'https://www. example.com' },
{ from: 'https://www. example.com/job-alerts', to: 'https://www. example.com' },
{ from: 'https://www. example.com/jobs', to: 'https://www. example.com' },
{ from: 'https://www. example.com/news', to: 'https://www. example.com' },
{ from: 'https://www. example.com/login', to: 'https://www. example.com' },
{ from: 'https://www. example.com/cv-upload', to: 'https://www. example.com/#submit-cv' },
{ from: 'https://www. example.com/expertise', to: 'https://www. example.com/our-expertise' }
]
module.exports = function (req, res, next) {
const redirect = redirects.find(r => r.from === req.url)
if (redirect) {
console.log(`redirect: ${redirect.from} => ${redirect.to}`)
res.writeHead(301, { Location: redirect.to })
res.end()
} else {
next()
}
}
// nuxt.connig.js
serverMiddleware: [
{ path: "/api/redirects", handler: "~/api/redirects/index.js" },
],
Run Code Online (Sandbox Code Playgroud)
Bra*_*aks 11
您可以创建一个服务器中间件来完成这项工作。
// nuxt.config.js
serverMiddleware: [{
path: '/',
handler: './serverMiddleware.js'
}]
Run Code Online (Sandbox Code Playgroud)
// serverMiddleware.js
export default (req, res, next) => {
// detect urls you'd like to redirect
// call res.redirect(CODE, NEWURL)
if (req.url === '/some-page/') {
res.writeHead(301, { Location: 'redirect-page' });
res.end();
} else {
next();
}
}
Run Code Online (Sandbox Code Playgroud)
您还可以使用Nuxt 重定向模块
// nuxt.config.js
redirect: [
{ from: '^/myoldurl', to: '/mynewurl', statusCode: 301 }
]
Run Code Online (Sandbox Code Playgroud)
对于Nuxt 3,您可以routeRules使用nuxt.config.ts.
nuxt.config.ts
export default defineNuxtConfig({
routeRules: {
"/from": {
redirect: {
to: "/to",
statusCode: 301,
},
},
},
});
Run Code Online (Sandbox Code Playgroud)
有关更多配置选项,请参阅https://nitro.unjs.io/config/#routes
| 归档时间: |
|
| 查看次数: |
11292 次 |
| 最近记录: |