J'ai un backend WordPress où j'ai ajouté mes propres terminaux personnalisés à l'API :
// retrieve countries
register_rest_route( $namespace, '/countries',
array(
'methods' => 'GET',
'callback' => array( $this, 'get_countries' ),
)
);
// check answer
register_rest_route( $namespace, '/check_answer',
array(
'methods' => 'POST',
'callback' => array( $this, 'check_answer' ),
)
);
J'ai configuré mon environnement comme suit : https://example.com est l'endroit où se trouve l'application React, et WordPress se trouve dans un sous-répertoire, sur https://example.com/wp
Ma demande React fait des demandes POST et GET à ces points d'extrémité ci-dessus. J'ai une variable d'environnement de production dans laquelle je fixe l'URL de base de l'API, qui est (https://example.com/wp/wp-json/game
game est mon espace de noms) et je peux donc faire des requêtes avec Axios vers https://example.com/wp/wp-json/game/countries
et https://example.com/wp/wp-json/game/check_answer
voilà le problème.
Mon serveur est configuré de manière à servir l'application React avec et sans www
. Ainsi, https://example.com et https://www.example.com servent tous deux la même application.
Mais cela génère un problème intéressant pour mes paramètres personnalisés : la requête GET fonctionne toujours. mais la requête POST ne fonctionne que si je l'essaie depuis https://example.com, et non depuis https://www.example.com . Dans ce dernier cas, elle me montre simplement une demande qui a échoué. Pas de réponse, rien
J'ai fait des recherches sur Google et il semble qu'il y ait un lien avec la SCRO, mais je n'ai pas pu le réparer. Des idées ?