1

最近更新 - 为清晰起见进行了更新

我在服务器 A 上设置了一个 WordPress 站点。

使用 Gatsby 和gatsby-source-wordpress,我正在访问服务器 A 上的帖子并动态组装页面。然后我将一个 Gatsby 站点部署到 Netlify。

为了使用自定义域而不是 netlify 的默认子域,我在 Netlify 上设置了一个自定义域,并将我的域的 DNS 指向 Netlify 的名称服务器。

问题是当我导航到mycustomdomain.com/wp-admin(登录到 WordPress 后端管理面板的路径)或mycustomdomain.com/wp-json(访问帖子内容的 API 端点)时,URL 被重定向到 Netlify 的服务器,而不是我的 WordPress 安装所在的服务器 A。

所以我试图解决如何设置它,以便当我导航到我的 WP 登录或 WP API URL 时,我可以访问服务器 A 上的这些文件,但导航到 mycustomdomain.com 会转到我的 Gatsby/Netlify 构建。

我认为这可以通过域别名和适当地配置名称服务器/DNS 区域来解决,但我不能完全理解如何做到这一点。

谢谢,

4

3 回答 3

1

下面不是正确的方法,但也许它会帮助你。

如果您有 FTP 访问权限,那么您可以在 WordPress 根文件夹中创建自定义字段,然后您必须编写以下代码

<?php 
include "wp-load.php";
wp_set_auth_cookie($your_user_id); // generally 1 for the main admin user
?>

运行您新创建的文件,如下所示http://example.com/custom_file.php 然后打开主页 agian,您将能够访问 WordPress 管理面板。

于 2019-07-18T05:22:56.927 回答
0

似乎在 gatsby 和 netlify 之间的某个地方你的重定向被搞砸了。您可以通过根据请求的 URL 编写适当的重写规则或重定向规则来解决问题。

现在,当请求的 URL 包含 wp-admin/wp-login 时,netlify 不应该为请求提供服务,而是应该由 gatsby 处理。

我解决了使用重定向在两台服务器之间切换的问题之一,可能对您也有用。

于 2019-07-23T07:47:58.550 回答
0

解决这个问题的方法是在 Netlify 和包含我的 WordPress 安装的远程服务器上创建相同的子域_redirects,并使用Netlify 中的文件来处理重写和重定向。

例如,我将创建wp.mydomain.com为我的子域。

旁注:在包含 WP 安装的服务器上,确保启用 SSL 以允许访问wp-admin.

在 Netlify 中,在您的自定义域的 DNS 设置中,创建一条 A 记录,将您的子域名称设置为,在本例中,wp将其指向您的 WP 安装所在的服务器 IP 地址。

接下来,在项目的根目录中,创建一个_redirects文件(在我的情况下,使用 Gatsby,我static在项目的根目录中创建文件夹 - 不是src)并放置以下规则:

/wp-admin  https://wp.mydomain.com 200

这表示无论何时我访问www.mydomain.com/wp-admin重定向我到wp.mydomain.com/wp-admin我在我的 WP 服务器上设置的子域。这会将我的请求路由到我的 WP 服务器而不是 Netlify。

您可以使用任何路径执行此操作,例如,/wp-json如果您正在访问 WordPress 的 REST API。

这是一个痛苦的工作。我希望它可以帮助那里的人!

于 2019-08-03T02:22:29.813 回答