Página no encontrada en Next.js después de implementación.
Creé una aplicación simple de Next.js usando create-next-app.
Agregué solo algunas páginas en la carpeta de páginas (contact.js, help.js)
Puedo construir y iniciar la aplicación en localhost usando los siguientes comandos
npm run build
npm run start
Esta es la parte de script del package.json
“scripts”: {
“dev”: “node server.js”,
“build”: “cross-env next build”,
“start”: “cross-env NODE_ENV=production node server.js”,
“lint”: “next lint”
},
Desplegué esta aplicación en un host compartido con panel de control Plesk.
La página de inicio está bien,
pero no se encuentran las páginas de ayuda y contacto
ni al escribir directamente la URL en la barra de direcciones, ni al hacer clic en el enlace (next/link)
Contenido de la carpeta .next:
https://i.stack.imgur.com/fBWqc.png
Contenido de la carpeta .next/server:
https://i.stack.imgur.com/zpmDr.png
Contenido de la carpeta .next/server/pages:
https://i.stack.imgur.com/c5Tyi.png
Al principio configuré el Archivo de Inicio de Aplicación como:
node_modules/.bin/next
y traté de ejecutar el script de inicio, pero no funcionó, así que para iniciar la aplicación
Configuré el Archivo de Inicio de Aplicación como: customserver.js en Plesk de la siguiente manera:
https://i.stack.imgur.com/o2MRV.png
Custom Server
¿Qué puede estar mal aquí?
¿Alguna idea?
davy.ai
Solución de problemas de error “Archivo no encontrado” para la aplicación Next.js en un alojamiento compartido Plesk
Problema
La aplicación Next.js se implementó en un host compartido con panel de control Plesk. La página de índice funciona correctamente, pero las páginas de ayuda y contacto no se encuentran incluso al escribir directamente la URL en la barra de direcciones o al hacer clic en el enlace. La carpeta
.next
y sus subcarpetas tienen el contenido necesario.Solución
customserver.js
está configurado correctamente como el Archivo de inicio de la aplicación en el panel de control de Plesk. El archivocustomserver.js
se encuentra en la carpeta.next/server
.Si el archivo de servidor personalizado no está configurado correctamente, la aplicación no se iniciará.
Si el archivo de servidor personalizado está configurado correctamente, verifique si el archivo
.htaccess
existe en el directorio raíz de la aplicación. Debe contener el siguiente código para redirigir todas las solicitudes al archivo de servidor personalizado:Reemplace
nextjs_app
con la ruta real de su aplicación. Si el archivo.htaccess
no está configurado correctamente, las solicitudes no se redirigirán al archivo de servidor personalizado y las páginas no se encontrarán.Si los pasos anteriores no funcionaron, intente ejecutar la aplicación directamente en el servidor usando SSH. Conéctese al servidor usando SSH y navegue hasta el directorio raíz de la aplicación. Luego, ejecute el siguiente comando para iniciar la aplicación:
Si la aplicación se inicia correctamente, puede haber un problema con la configuración de Plesk. Puede intentar reinstalar o actualizar el panel de control de Plesk.
Si ninguno de los pasos anteriores funciona, comuníquese con su proveedor de alojamiento web para obtener más ayuda.
Conclusión
Para implementar una aplicación Next.js en un host compartido con panel de control Plesk, asegúrese de establecer el archivo de servidor personalizado como el Archivo de inicio de la aplicación y configure correctamente el archivo
.htaccess
para redirigir todas las solicitudes al archivo de servidor personalizado. Si la aplicación aún no funciona, intente ejecutarla directamente en el servidor usando SSH y comuníquese con su proveedor de alojamiento web para obtener más ayuda.