我有一个使用WP API 2(beta13.1)和JWT插件设置的基本WP站点。如果我在登录WP时调用/token
端点,我会得到一个成功的响应。
但是,如果我没有登录,则收到"No route was found matching the URL and request method"
消息。
进一步挖掘后,我可以在我的服务器中看到POST请求作为GET请求被收到的访问日志,因此必须在线路的某处更改,因此我看到错误消息!
127.0.0.1 - - [06/Jun/2016:16:19:04 +0000] "GET /test/wp-json/jwt-auth/v1/token HTTP/1.1" 404 450 "http://localhost/test/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.11; rv:46.0) Gecko/20100101 Firefox/46.0"
如果我在请求中添加了有效的“wordpress_logged_in”cookie,它就可以正常工作。
我无法弄清楚发生了什么,登录用户的请求不应该要求用户已经登录!
答案 0 :(得分:1)
只是因为其他人偶然发现这个问题,对我来说问题就是清漆。
如果您在Varnish配置中有return (lookup)
,那么在尝试缓存请求时,它会转换为GET
请参阅:https://serverfault.com/questions/563560/varnish-transforming-post-to-get