【发布时间】:2023-03-26 23:44:01
【问题描述】:
我正在尝试找出一种方法,让一些代码在每个请求的初始页面加载时运行。我希望能够识别请求域并根据它重定向到网站的特定部分。
据我了解,我可以将getInitialProps 添加到自定义_app 页面,但这会禁用接下来的所有优化。另外_app 似乎不支持getServerSideProps,我认为这是一种替代方案。
我想到的另一种方法是在网站的每个页面中都有getServerSideProps,并进行我必须做的检查,但这会使每个页面在服务器端针对每个新请求重新呈现,在构建时禁用呈现即使是纯静态页面。
我可以采用其他解决方案吗?
编辑
基本上我需要请求对象,这样我才能做这样的事情:
export const getServerSideProps: GetServerSideProps = async ({
req
}) => {
if (req.headers.host === 'something') {
return {
redirect: {
permanent: false,
destination: "/"
}
}
}
【问题讨论】:
-
你能提供 1 个例子来说明你到底想要做什么吗?
-
添加了一个简单的例子
-
您想将该更改应用到多少页?全部/其中一些?确切的数字是多少?
-
所有这些,没有确切的数字,但如果添加了新页面,它也应该进行检查
标签: javascript next.js server-side-rendering