如何让 Wordpress JSON-API 在 Nginx 服务器上运行?
How do I get the Wordpress JSON-API to work on Nginx server?
出于某种原因 "out-of-the-box" Wordpress JSON API 无法在 Nginx 上运行。我在 nginx conf 中尝试了几种重定向方案。我唯一开始工作的是 ?json
。但是,这不适用于身份验证和注册。
仅供参考,我正在开发一个 cordova 应用程序并尝试将 WP JSON API 用于 WP 后端。
我找到了问题的解决方案。在您假设(就像我所做的那样)这是插件问题之前,请确保永久链接正常工作。
我能够在 nginx 站点的子目录中更正 wordpress 站点的永久链接。如果您遇到同样的问题,本文将对您有所帮助 here
我的 wp-json API.
的 Nginx 配置文件
location / {
# http://v2.wp-api.org/guide/problems/#query-parameters-are-ignored
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ ^/wp-json/ {
# if permalinks not enabled
rewrite ^/wp-json/(.*?)$ /?rest_route=/ last;
}
我的案例是将 wordpress 部署到我网站根目录下的一个子目录中,这里是让它工作的步骤
- 网站根目录是
/www/wwwroot/www.abc.com/public/
- 通过www.abc.com
访问
- wordpress 目录是
/www/wwwroot/www.abc.com/public/blog/
- 通过 www.abc.com/blog/
访问
- 下载 wordpress 并将其解压缩到您的网站根目录,然后将其重命名为
blog
chmod -R www:www blog
- 运行 在您的网络根目录中执行此命令。
- 将以下行添加到您的 nginx 配置文件中。
location /blog/ {
index index.php;
try_files $uri $uri/ /blog/index.php?$args;
}
出于某种原因 "out-of-the-box" Wordpress JSON API 无法在 Nginx 上运行。我在 nginx conf 中尝试了几种重定向方案。我唯一开始工作的是 ?json
。但是,这不适用于身份验证和注册。
仅供参考,我正在开发一个 cordova 应用程序并尝试将 WP JSON API 用于 WP 后端。
我找到了问题的解决方案。在您假设(就像我所做的那样)这是插件问题之前,请确保永久链接正常工作。
我能够在 nginx 站点的子目录中更正 wordpress 站点的永久链接。如果您遇到同样的问题,本文将对您有所帮助 here
我的 wp-json API.
的 Nginx 配置文件location / {
# http://v2.wp-api.org/guide/problems/#query-parameters-are-ignored
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ ^/wp-json/ {
# if permalinks not enabled
rewrite ^/wp-json/(.*?)$ /?rest_route=/ last;
}
我的案例是将 wordpress 部署到我网站根目录下的一个子目录中,这里是让它工作的步骤
- 网站根目录是
/www/wwwroot/www.abc.com/public/
- 通过www.abc.com
访问
- wordpress 目录是
/www/wwwroot/www.abc.com/public/blog/
- 通过www.abc.com/blog/
访问
- 下载 wordpress 并将其解压缩到您的网站根目录,然后将其重命名为
blog
chmod -R www:www blog
- 运行 在您的网络根目录中执行此命令。- 将以下行添加到您的 nginx 配置文件中。
location /blog/ {
index index.php;
try_files $uri $uri/ /blog/index.php?$args;
}