WordPress中WooCommerce API V2 URL的URL重写不起作用

时间:2018-10-29 21:32:59

标签: php wordpress nginx woocommerce woocommerce-rest-api

我在WooCommerce上安装了WordPress网站。 该站点托管在具有PHP 7.2的Nginx服务器上。

我面临的问题是对该网站的外部API调用不起作用。

例如,以以下方式调用WC API V2: https://www.custommadewraps.com/wc-api/v2/orders?consumer_secret=cs_&consumer_key=ck_

报告:

{"errors":[{"code":"woocommerce_api_authentication_error","message":"Consumer key 
is missing."}]}

但是查询字符串(consumer_key=ck_中有使用者键。

WC API调用被WordPress重写为:

^wc-api/v([1-3]{1})(.*)?    
index.php?wc-api-version=$matches[1]&wc-api-route=$matches[2]

然后调用重写的URL:https://www.custommadewraps.com/index.php?wc-api-version=2&wc-api-route=/orders?&consumer_secret=cs_&consumer_key=ck_

给出了预期的响应:

{"errors":[{"code":"woocommerce_api_authentication_error","message":"Consumer key 
is invalid."}]}

它检测到consumer_key并报告其有效。

我没有调试的主意,所以这就是我与你们(和女孩)联系的原因。

我注意到,$_GET变量的内容在两种情况下都是不同的。

array(0) {
}

vs:

array(4) {
  ["wc-api-version"]=>
  string(1) "2"
  ["wc-api-route"]=>
  string(8) "/orders?"
  ["consumer_secret"]=>
  string(3) "cs_"
  ["consumer_key"]=>
  string(3) "ck_"
}

欢迎所有想法。

谢谢!

Pieter

1 个答案:

答案 0 :(得分:0)