Tengo un sitio de Wordpress alojado en WPEngine. Estoy ejecutando una aplicación de reacción dentro de Wordpress usando el complemento ReactPress. https://####.wpengine.com/rpressapp/ - este es el slug donde se ejecuta la aplicación de reacción de producción, puedo acceder a la aplicación raíz que es app.js que tiene rutas configuradas
import logo from './logo.svg'; import './App.css'; import { BrowserRouter as Router, useRoutes, } from "react-router-dom"; import Login from './components/Login'; import Signup from './components/Singup'; const AppRoutes = () => { let routes = useRoutes([ { path: "/rpressapp/signup", element: <Signup /> }, { path: "/rpressapp/login", element: <Login></Login> }, ]); return routes; }; function App() { return ( <div className="App"> Main React app <Router> <AppRoutes></AppRoutes> </Router> </div> ); } export default App;Esto funciona perfectamente si enciendo el servidor local de Wordpress, pero después de moverlo a WPEngine, wordpress está manejando el enrutamiento, lo que hace que reaccione y no responda. Entonces, lo que sucede es que obtengo la página 404 para las rutas que están presentes en reaccionar.
Encontré la respuesta a mi pregunta,
El problema es que WordPress está intentando hacer el enrutamiento antes de que llegue a la aplicación de reacción. Entonces, como resultado, WordPress me lleva a una página de error 404. Entonces, para deshabilitar esta redirección de tema, agregué la siguiente acción en el archivo functions.php del tema actual que se aplica.
function redirect_prevent() { add_action('redirect_canonical','__return_false'); } add_action('template_redirect','redirect_prevent',1);y solo para hacer cumplir esto, también podemos agregar el siguiente código además del anterior (agregue este código a continuación en wp-config.php)
remove_action( 'template_redirect', 'maybe_redirect_404' );