Tengo un backend de WordPress donde he añadido mis propios endpoints personalizados a la 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' ),
)
);
He configurado mi entorno así: https://example.com es donde vive la aplicación React, y WordPress está en un subdirectorio, en https://example.com/wp
Mi aplicación React hace peticiones POST y GET a los puntos finales de arriba. Tengo una variable de entorno de producción donde configuro la URL base de la API, que es (https://example.com/wp/wp-json/game
'juego' es mi espacio de nombres) y así puedo hacer peticiones con Axios a https://example.com/wp/wp-json/game/countries
y https://example.com/wp/wp-json/game/check_answer
aquí viene el problema.
Mi servidor está configurado para que sirva a la aplicación React tanto con como sin www
. Así que https://example.com y https://www.example.com sirven la misma aplicación.
Pero esto genera un asunto interesante para mis puntos finales personalizados: la petición GET siempre funciona. pero la petición POST sólo funciona si lo intento desde https://example.com, NO desde https://www.example.com . En el caso de esta última, simplemente me muestra una solicitud fallida. No hay respuesta, nada
Lo he buscado en Google y parece estar relacionado con el CORS, pero no he podido arreglarlo. ¿Alguna idea?