Tenemos una aplicación de reacción con un enrutador de reacción, construimos un contenedor Docker y servimos la aplicación con un Nginx. Aquí está el nginx.conf:
server { listen 80; location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri /index.html =404; } }Mostramos una lista de elementos en una página y con un clic se puede ver más información sobre el elemento:
<Routes> <Route path="/" element={<Patients />} /> <Route path="/add" element={<AddPatient />} /> <Route path="/:patientId" element={<Patient />} /> <Route path="/:patientId/update" element={<UpdatePatient />} /> <Route path="/:patientId/wounds/add" element={<AddWound />} /> <Route path="/:patientId/wounds/:woundId/update" element={<UpdateWound />} /> <Route path="*" element={<Navigate to="/" />} /> </Routes>Sin embargo, cuando implemento la aplicación, sucede algo extraño:
Espero que la aplicación use una ruta como esta:
https://<publicDomain>/app/patients/605db06b642296fa97b7c4c0Pero usa este enlace:
https://<publicDomain>/app/patients/app/patients/605db06b642296fa97b7c4c0Entonces, una parte de la URL está duplicada, lo que lleva al hecho de que la aplicación seguramente no está abriendo ninguna nueva vista de detalles.
¿Cómo puedo evitar que se dupliquen partes de la ruta?
--actualizar--
Así que resolví mi problema cambiando el nginx.conf de esto:
server { listen 80; location / { root /usr/share/nginx/html; index index.html index.htm; try_files $uri /index.html =404; } }a esto:
server { listen 80; root /usr/share/nginx/html; location / { try_files $uri /index.html; } }Sin embargo, realmente no entiendo la gran diferencia que hace. Así que si alguien puede explicarlo, se lo agradecería mucho.
Gracias por adelantado