首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WP Rest不工作

WP Rest不工作
EN

WordPress Development用户
提问于 2019-10-24 12:14:46
回答 1查看 11.7K关注 0票数 3

WP 5.2.4

代码语言:javascript
复制
/wp-json/wp/v2/

给出404错误。

我更新了permalinks,在Apache上有一个工作的.htaccess,并且没有使用“普通permalinks”,但是这个东西仍然不起作用。我的Apache和它的配置看起来很好,除了/wp-json之外,所有东西都能工作。

代码语言:javascript
复制
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

如何解决这个令人沮丧的WP错误?为什么Wordpress不改进这一点,当人们每天都在和这做斗争

我的WP路线看起来像这样(修剪过):

代码语言:javascript
复制
array (
  '^wc-auth/v([1]{1})/(.*)?' => 'index.php?wc-auth-version=$matches[1]&wc-auth-route=$matches[2]',
  '^wc-api/v([1-3]{1})/?如您所见,wp-json规则应该与URL匹配,如下所示/wp-json/wp/v2/posts/6307我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):/wp/v2/posts/
/wp/v2/posts/(?P[\d]+)当我点击URL时:/index.php?rest_route=wp/v2/posts/6307
/index.php?rest_route=/wp/v2/posts/6307
/index.php?rest_route=wp/v2/posts/
/index.php?rest_route=/wp/v2/posts/我和所有的人在一起:(404)
{"code":"rest_no_route","message":"No route was found matching the URL and request method","data":{"status":404}}他们说,端点列表可以通过GET /wp-json/获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:404 /wp-json/wp/v2/block-renderer/woocommerce/ => 'index.php?wc-api-version=$matches[1]&wc-api-route=/',
  '^wc-api/v([1-3]{1})(.*)?' => 'index.php?wc-api-version=$matches[1]&wc-api-route=$matches[2]',
  'sitemap_index\\.xml如您所见,wp-json规则应该与URL匹配,如下所示A5我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):A6当我点击URL时:A7我和所有的人在一起:A8他们说,端点列表可以通过D9获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:A10 => 'index.php?sitemap=1',
  '([^/]+?)-sitemap([0-9]+)?\\.xml如您所见,wp-json规则应该与URL匹配,如下所示A5我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):A6当我点击URL时:A7我和所有的人在一起:A8他们说,端点列表可以通过D9获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:A10 => 'index.php?sitemap=$matches[1]&sitemap_n=$matches[2]',
  '([a-z]+)?-?sitemap\\.xsl如您所见,wp-json规则应该与URL匹配,如下所示A5我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):A6当我点击URL时:A7我和所有的人在一起:A8他们说,端点列表可以通过D9获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:A10 => 'index.php?yoast-sitemap-xsl=$matches[1]',
  'shop-4/?如您所见,wp-json规则应该与URL匹配,如下所示A5我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):A6当我点击URL时:A7我和所有的人在一起:A8他们说,端点列表可以通过D9获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:A10 => 'index.php?post_type=product',
  'shop-4/feed/(feed|rdf|rss|rss2|atom)/?如您所见,wp-json规则应该与URL匹配,如下所示A5我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):A6当我点击URL时:A7我和所有的人在一起:A8他们说,端点列表可以通过D9获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:A10 => 'index.php?post_type=product&feed=$matches[1]',
  'shop-4/(feed|rdf|rss|rss2|atom)/?如您所见,wp-json规则应该与URL匹配,如下所示A5我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):A6当我点击URL时:A7我和所有的人在一起:A8他们说,端点列表可以通过D9获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:A10 => 'index.php?post_type=product&feed=$matches[1]',
  'shop-4/page/([0-9]{1,})/?如您所见,wp-json规则应该与URL匹配,如下所示A5我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):A6当我点击URL时:A7我和所有的人在一起:A8他们说,端点列表可以通过D9获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:A10 => 'index.php?post_type=product&paged=$matches[1]',
  '^wp-json/?如您所见,wp-json规则应该与URL匹配,如下所示A5我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):A6当我点击URL时:A7我和所有的人在一起:A8他们说,端点列表可以通过D9获得,但这个页面也给出了404。对于使用GET动词的路线,它们的行为完全相同:A10 => 'index.php?rest_route=/',
  '^wp-json/(.*)?' => 'index.php?rest_route=/$matches[1]',

....

如您所见,wp-json规则应该与URL匹配,如下所示

A5

我已经检查了哪些休息路线可用(使用插件"Rest Manager",漂亮和干净):

A6

当我点击URL时:

A7

我和所有的人在一起:

A8

他们说,端点列表可以通过D9获得,但这个页面也给出了404。

对于使用GET动词的路线,它们的行为完全相同:

A10

EN

回答 1

WordPress Development用户

发布于 2021-05-14 07:07:35

首先,您必须检查WordPress REST API是否启用

最好的检查方法是访问这个网址:https://yoursite.com/wp-json。如果您看到一些JSON响应,REST将被启用。如果它显示了一些错误页面或返回到主页,REST就不会启用。那我们得先启用它。

在这种情况下,您必须启用Permalinks

  1. 访问您的页面的管理页面(访问https://yoursite.com/wp-json)
  2. 设置> Permalinks (访问https://yoursite.com/wp-admin/options-permalink.php)
  3. 确保未选中“平原”
  4. 选择邮政名称(这是最好的)
  5. 然后单击“保存更改”。它将重写/修复您的.htaccess

更多信息

票数 7
EN
页面原文内容由WordPress Development提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://wordpress.stackexchange.com/questions/351161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档