如何让 Wordpress JSON-API 在 Nginx 服务器上工作?
Posted
技术标签:
【中文标题】如何让 Wordpress JSON-API 在 Nginx 服务器上工作?【英文标题】:How do I get the Wordpress JSON-API to work on Nginx server? 【发布时间】:2015-08-03 11:41:42 【问题描述】:由于某些原因,“开箱即用”的 Wordpress JSON API 无法在 nginx 上运行。我在 nginx conf 中尝试了几种重定向方案。我唯一需要工作的是?json
。但是,这不适用于身份验证和注册。
作为一个仅供参考,我正在开发一个 cordova 应用程序并尝试将 WP JSON API 用于 WP 后端。
【问题讨论】:
任何抛出的错误?源代码? 我找到了答案,贴在下面。感谢您的提问! 【参考方案1】:我找到了问题的解决方案。在您假设(像我一样)这是插件的问题之前,请确保永久链接正常工作。
我能够在 nginx 站点的子目录中更正 wordpress 站点的永久链接。如果您遇到同样的问题,本文将对您有所帮助here
【讨论】:
你永远不会怀疑最简单的事情,谢谢;节省了我很多时间! 对于那些想知道如何修复它的人:转到设置 => 永久链接 => 选择一个选项(我使用帖子名称)=> 保存更改 => 验证您的 /wp-json 路由是否有效跨度> web.archive.org/web/20170324103810/http://lawsonry.github.io/…【参考方案2】:用于 wp-json API 的我的 Nginx conf。
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=/$1 last;
【讨论】:
奇怪的是,即使正确配置了永久链接,在某些环境中似乎也需要此解决方案。我不确定,可能是由于插件或主题代码的问题,或者浏览器本身的资源行为...wordpress.org/support/topic/contact-form-7-wp-json-404-error/… 我需要在我的 nginx.conf 中为我在 Amazon Linux 2 (AMI) 中运行的 wordpress 网站添加这个 至少在我的 Nginx 配置中仍然需要。现在,在 Gutenberg 中添加链接的搜索功能再次运行,无论我输入什么,它都只显示最新的帖子。谢谢。【参考方案3】:我的案例是在我的网站根目录下的子目录上部署 wordpress,这是使其工作的步骤
-
网站根目录是
/www/wwwroot/www.abc.com/public/
- 通过www.abc.com
访问
wordpress 目录是/www/wwwroot/www.abc.com/public/blog/
- 通过www.abc.com/blog/
访问
下载wordpress并解压到你的web根目录,然后重命名为blog
chmod -R www:www blog
- 在您的 Web 根目录中运行此命令。
将以下行添加到您的 nginx 配置文件中。
location /blog/
index index.php;
try_files $uri $uri/ /blog/index.php?$args;
【讨论】:
以上是关于如何让 Wordpress JSON-API 在 Nginx 服务器上工作?的主要内容,如果未能解决你的问题,请参考以下文章
Ktor:如何序列化/反序列化 JSON-API (vnd.api+json)
dotnet core webapi json-api 兼容查询字符串路由
golang Go和MongoDB的JSON-API:最终部分
Access-Control-Allow-Origin - 尝试从 Wordpress 安装访问 JSON 时出错