Problemas con las rutas en mi app con react y node.js
Tengo mi aplicacion con mi base de datos, node y front ya subidas al servidor, pero a la hora de hacer los get me sale error por tiempo de espera del servidor. Necesitaria saber como puedo acceder a mi ruta.
En este momento lo estoy haciendo asi:
Ya subi mi node con mi puerto que es el 4443, pero de igual manera no me funciona las peticiones
-
Luciano Salvador Azalot vos cargás tu app usando Node.js Manager y no imorta el puerto que le pongas, siempre vas a accederla vía web (sin indicar el puerto)
O sea que te quedaría https://dominio/api/sucursales
salvo que hayas especificado otra URL en la configuración de tu app de Node.
0 -
Algo adicional que veo en tu URL es que en tu sitio usás react, por lo que seguramente tengas un .htaccess que redirecciona todas las peticiones al index de React para que lo pueda procesar.
En ese caso deberías tener una excepción para /api, así no lo manda a la index como el resto.
En la guía de React se aclara eso cuando habla de "subcarpeta"
0 -
Hola Alejandro, como estas? te muestro como tengo configurado mi index.js, el fetch al que intento acceder, la respuesta que obtengo en la consola de mi aplicacion en internet y por ultimo lo que contiene mi archivo .htaccess, estoy muy trabado en esta parte, no se por donde avanzar. Si tenes alguna idea me vendira muy bien. Gracias
.HTACCESS:<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-l RewriteRule . /index.html [L] </IfModule>
0 -
Según veo en tu .htaccess estás derivando todas las peticiones a index.html porque usás React.
Eso está bien, pero /api/sucursales sería una petición que no debería pasar por el index.html de react, por lo que deberías poner una excepción en tu .htaccess para que vaya directo a la app en ese caso.
Deberías crear la carpeta /public_html/api y crear dentro de ella un .htaccess que contenga lo siguiente:
RewriteEngine off
Para que todo lo que sea /api/... sea ignorado por React Router
0 -
Hola Alejandro!
Disculpa, me podrias explicar mejor lo que me dijiste del .htaccess que debo crear? creo que es la solucion a mi problema, pero no entendi bien donde deberia crear la carte con el archivo que me dices0 -
Si claro!
En /public_html/.htaccess tienes directivas para que TODA petición que hagas decaiga en /index.html porque es el controlador de React.
Ahora, tienes peticiones hacia /api/... que no tienen que pasar por ese index.html de React, sino ir directo a tu app de Node.
En ese caso, creas la carpeta /public_html/app/ y dentro creas un archivo .htaccess con la directiva "RewriteEngine off" para que TODA petición que ingrese a /app/... no sea derivada al index.html y la tomará directamente tu app de Node/Next.
0 -
Hola Alejandro! Te muestro como segui los pasos que me dijiste pero sigue trayendome un html como respuesta, no se si lo hice bien por eso te adjunto imagenes de como esta estructurado todo. Gracias por el interes.
(x)
Tambien te adjunto una foto mas de como estoy trayendo mis datos. Cambio por axios que por defecto deberia convertirlo en un json.
(x)
0 -
No entendí del todo tus capturas, pero te digo exactamente que deberías hacer según te voy leyendo:
Entrá a la carpeta "/public_html/api" y crea un archivo llamado ".htaccess" que SOLO contenga lo siguiente:
RewriteEngine off
Si ese archivo .htaccess dentro de la carpeta "api" ya existe, simplemente editalo, borrale todo y sólo ponele esa linea de código.
Luego intentá acceder a https://dominio/api/sucursales
y en lugar de ver una página html gris como ahora, deberías ver tu output de JSON como corresponde
0 -
Hola Alejandro! Muchas gracias, me sirvio mucho tu ayuda, ahora estoy avanzando con el programa. Ya me trae las respuestas json!!!
0 -
Genial!!! :)
0
Iniciar sesión para dejar un comentario.
Comentarios
10 comentarios