我有一个wordpress wp管理员在另一个域上运行。
换句话说WP_SITEURL = \'https//admin.example.com\'
和WP_HOME = \'https://www.example.com\'
最近我有个坏主意,把wordpress更新到最新版本。
一切似乎都很好,但当我意识到不可能添加新帖子或更新现有帖子后。
例如,当我添加一篇新帖子(/wp admin/post new.php)时,管理员向www发出的获取请求很少:
https://www.example.com/wp-json/wp/v2/users/me?_locale=user
https://www.example.com/wp-json/wp/v2/users/?who=authors&per_page=100&_locale=user
他们都有相同的错误:
Access to fetch at
\'https://www.example.com/wp-json/wp/v2/users/?who=authors&per_page=100&_locale=user\'
from origin \'https://admin.example.com\' has been blocked by CORS
policy: Request header field x-wp-nonce is not allowed by
Access-Control-Allow-Headers in preflight response.
环顾四周,我发现添加新的CORS指令很容易,所以立即添加了以下内容:
add_filter(\'rest_pre_serve_request\', function( $value ) {
header( \'Access-Control-Allow-Headers: X-WP-Nonce\', false);
return $value;
});
具有讽刺意味的是,结果甚至是最糟糕的,现在我有一个无限的请求失败了,403
https://www.example.com/wp-json/wp/v2/users/me?_locale=user
https://www.example.com/wp-json/wp/v2/users/me?_locale=user
https://www.example.com/wp-json/wp/v2/users/me?_locale=user
...
现在,我一直在努力了解到底出了什么问题,以及是否有任何方法可以解决这个问题。
任何有助于了解情况的帮助都将不胜感激。