【发布时间】:2021-07-16 11:59:35
【问题描述】:
我在 react 中处理服务器端重定向。
在 getInitalProps 中我做了类似的事情
const { res } = ctx
if(some condtion === true){
redirection
res.writeHead(301, {
Location: 'new/url/destination/here'
});
res.end();
}
它有效,但问题是即使条件为假,我也无法再次访问此页面。
我删除了整个区块,但仍然无法访问此页面。尝试重新启动服务器但没有用。需要帮助
我按照这个解决方案,但使用 301 而不是 302 Conditional redirection in Next.js
提前致谢。
【问题讨论】:
-
您需要一个相等 (
==) 或标识 (===) 运算符进行比较。或者,由于它是一个布尔值,您可以省略比较。if (some_condition === true)或只是if (some_condition) -
@Nick 是的,它是一个比较运算符。更新了我的问题请检查
-
@VijayThomas 你试过用
getServerSideProps代替吗?它对我有用:codesandbox.io/s/agitated-tdd-22qu2——在这个例子中只有/contact被重定向到/about,除了base之外的所有其他路由都导致404。另外,如果你的条件只是一些模式匹配,那么你可以做:nextjs.org/docs/api-reference/next.config.js/redirects -
@brc-dd 现在我已经删除了与 url 相关的完整代码,但我仍然无法访问该页面。
标签: javascript node.js reactjs next.js