Next.js - 有没有办法在重定向中添加 URL 查询参数?

问题描述 投票:0回答:1

next.config.js
中,我尝试将缩短的 URL 重定向到添加了查询参数的真实 URL,但是当它重定向时,不会显示查询参数。

next.config.js

async redirects() {
    return [
      {
        source: '/test',
        destination: '/testing-page?redirect=true',
        permanent: true,
      },
    ]
}

当我尝试

localhost:3000/test
时,它只是将我重定向到
localhost:3000/testing-page
而不是
localhost:3000/testing-page?redirect=true

redirect next.js
1个回答
0
投票

next.config.js 中定义的重定向获取搜索参数(诸如 ?redirect=something 之类的参数)并将它们传递到重定向目的地。如果需要更精细的控制,可以在getServerSideProps中手动实现。

在这种情况下,(假设您正在使用页面路由器)尝试如下:

//test.jsx
export async function getServerSideProps(context) {
    const target = "/testing-page?redirect=true"
    const statusCode = 308; // Change this to your desired type (302/307/308,...)
    context.res.writeHead(statusCode, { Location: target });
    context.res.end();
    return { props : {} };
}

export default function testing() {
    // some dummy function to export. This wont be called.
    console.log("Redirecting")
}
© www.soinside.com 2019 - 2024. All rights reserved.