在
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
。
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")
}