如何在 NextJS 中解决重定向到外部 url 的问题?
How to tackle redirect to an external url in NextJS?
我已经在 next.config.js
文件中设置了常规 redirect 规则,所有规则都在同一个域中并且一切正常。但是在特定情况下,我需要将请求从某个URL(mydomain.com/abc)重定向到不同的域。即 differentdomain.com
如何创建此规则以重定向到 NextJs 中的外部 link?
感谢任何见解。
Nextjs-redirect 图书馆应该做你想做的事
您可以尝试使用 window.location
这是一个示例,其中在访问页面时将用户重定向到外部 url
// pages/redirect
import {useEffect} from 'react'
export default function redirect() {
useEffect(() => {
window.location.assign('https://duckduckgo.com/')
})
return(
<>
</>
)
}
最新版本的 Next.js 使用 next.config.js
脚本内置了此功能(请参阅 https://nextjs.org/docs/api-reference/next.config.js/redirects)。不需要额外的插件。
要进行测试,请复制 NextJs 示例应用程序:
npx create-next-app nextjs-blog --use-npm --example "https://github.com/vercel/next-learn-starter/tree/master/learn-starter"
使用以下代码将 next.config.js
文件添加到根文件夹:
// this simply tests the redirecting of the root path (source)
module.exports = {
async redirects() {
return [
{
source: '/',
destination: 'https://whosebug.com/posts/66662033',
permanent: false,
basePath: false
},
]
},
};
当您启动应用 npm run dev
并访问 localhost:3000 时,它应该重定向到 next.config.js 脚本 (https://whosebug.com/posts/66662033) 中指定的目的地 URL .
我已经在 next.config.js
文件中设置了常规 redirect 规则,所有规则都在同一个域中并且一切正常。但是在特定情况下,我需要将请求从某个URL(mydomain.com/abc)重定向到不同的域。即 differentdomain.com
如何创建此规则以重定向到 NextJs 中的外部 link?
感谢任何见解。
Nextjs-redirect 图书馆应该做你想做的事
您可以尝试使用 window.location
这是一个示例,其中在访问页面时将用户重定向到外部 url
// pages/redirect
import {useEffect} from 'react'
export default function redirect() {
useEffect(() => {
window.location.assign('https://duckduckgo.com/')
})
return(
<>
</>
)
}
最新版本的 Next.js 使用 next.config.js
脚本内置了此功能(请参阅 https://nextjs.org/docs/api-reference/next.config.js/redirects)。不需要额外的插件。
要进行测试,请复制 NextJs 示例应用程序:
npx create-next-app nextjs-blog --use-npm --example "https://github.com/vercel/next-learn-starter/tree/master/learn-starter"
使用以下代码将 next.config.js
文件添加到根文件夹:
// this simply tests the redirecting of the root path (source)
module.exports = {
async redirects() {
return [
{
source: '/',
destination: 'https://whosebug.com/posts/66662033',
permanent: false,
basePath: false
},
]
},
};
当您启动应用 npm run dev
并访问 localhost:3000 时,它应该重定向到 next.config.js 脚本 (https://whosebug.com/posts/66662033) 中指定的目的地 URL .