Skip to main content

Laravel Filament Admin funciona en Sail, pero no en producción. error 404 en ficheros .js

Introducción

Terrorífico error de documentación de FilamentaAdmin, que tras unas cuantas horas encontré respuesta.

Cierto que mi fracaso vino de hacer las cosas como no se deben. Laravel Sail, no es del todo confiable porque no usa servidor web (ni el que usas en producción) y yo en ciertos proyectos como este, no uso testing en mi Gitlab sino en local. Entono el mea culpa

Una razón más de que el proceso desarrollo -> producción tenga en algún momento una fase de testing con el mismo escenario de producción.

Error

El error es claro. Se produce un error en la llamada a los ficheros *.js de la aplicación laravel (los que le afectan a Filament).

/filament/assets/app.js?id=942414d090ce297f343ebeb13f12bc7 error 404
livewire/livewire.js?id=de3fca26689cb5a39af4 error 404

Developers Tools

En su documentación no habla nada del tema.

En Google hay tropecientos post pero nada.

Solución

Prestada de del comentario de @webboty está claro que para usuario que desplegamos nuestro trabajo en un servidor Nginx.

Añadir la directiva try_files $uri /index.php?$query_string; al fichero del sitio virtual, en la sección location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {

location ~* \.(jpg|jpeg|gif|png|webp|svg|woff|woff2|ttf|css|js|ico|xml)$ {
       try_files $uri /index.php?$query_string;
       access_log        off;
       log_not_found     off;
       expires           14d;
}

Importante no confundir esta sección con la sección location / {

Con eso y está solventado.

Aviso

Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris

Si necesitas soporte profesional puedes contratar con Castris soporte profesional.