有办法在同一个域下使用Next.js和WordPress页面吗?

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

我有一个 Next.js 网站,但对于登陆页面,我会使用 WordPress 网站。怎么可能?

reactjs wordpress next.js
3个回答
2
投票

next.config.js
中,您可以将
rewrites
设置为像具有特定应用程序路径的代理一样工作。如果您只想将 NextJS 主页路由到另一个域主页,您可以这样做:

module.exports = {
  rewrites() {
    return [
      {
        source: "/",
        destination: "http://mywordpresssite.com/",
      },
    ];
  },
};

文档


1
投票

一切都取决于您将用于托管这些网站的托管服务器。您可以对两者使用一个域,但您可能被迫使用不同的路由。

示例:

登陆页面:

www.example.com
www.example.com/home

WordPress:

www.example.com/news

使用 apache 进行托管,您可以定义一个 .htaccess,它将根据路由重定向到正确的应用程序。 我建议您对此进行调查,除非您可以向我们提供有关您的托管解决方案的更多详细信息。

编辑: 您可以查看 vercel 配置文件以将某些内容路由到特定的子文件夹/文件。 更多信息请参见:https://vercel.com/docs/configuration#project/redirects


0
投票

配置 WordPress 在根域上渲染页面的步骤:

  1. 更新

    wp-config.php

    • WP_SITEURL
      设置为子域 URL。
    • WP_HOME
      设置为根域 URL。
    • 设置
      COOKIE_DOMAIN
      以跨子域和根域共享cookie。
  2. 修改主题中的

    functions.php

    • 防止 URL 重定向到子域。
    • 从子域提供 REST API。
    • 使用 Yoast SEO 修复规范 URL。
  3. next.config.js
    中添加Next.js重写:

    • 将 URL 从根域重写为特定 WordPress 路径的子域。
    • 将 URL 从子域重写为面向公众的路径的根域。
  4. 测试配置:

    • 访问根域上不存在的页面会收到 404 错误。
    • 在子域登录 WordPress 并创建新帖子。
    • 验证新帖子在根域上正确显示。

如果您需要实际的代码示例,我写了一篇更详细的文章 https://www.mikealche.com/software-development/how-to-have-a-next-js-app-and-wordpress-blog-in-the-same-domain

© www.soinside.com 2019 - 2024. All rights reserved.