如何在Next.js中获得子域?

6uxekuva  于 2022-12-03  发布在  其他
关注(0)|答案(1)|浏览(209)

我尝试使用下面的结构在_app函数getInitialProps中获取一个子域

MyApp.getInitialProps = wrapper.getInitialAppProps((store) => async ({ ctx, Component }) => {
  const host = ctx.req?.headers.host?.split('.') ...

然而,我只得到第2和第1级域,在UseEffect通过www.example.com获得它window.location.host工作正常,但这个选项不工作,该怎么办?

nbewdwxp

nbewdwxp1#

为了使用此方法访问子域,可以使用ctx.req.headers.host属性,该属性将包含请求的主机名,包括所有子域。
下面是如何使用此属性获取子域的示例:

MyApp.getInitialProps = wrapper.getInitialAppProps((store) => async ({ ctx, Component }) => {
  const host = ctx.req.headers.host; // get the hostname of the request
  const hostParts = host.split('.'); // split the hostname into its parts
  const subdomain = hostParts[0]; // the subdomain is the first part of the hostname
  // ...
});

我希望这对你有帮助!如果你有任何其他问题,请告诉我。

相关问题