Creé un subdominio test.example.com desde cPanel. Luego construí mi aplicación Vue usando
npm run buildy comprimí toda la carpeta dist para cargarla en el servidor. Una vez cargado, expandí el archivo zip para que los archivos estén en el servidor.
Esto funciona perfectamente para mi página de inicio, sin embargo, verifique que cualquiera de las subpáginas devuelva el 404 mientras que este problema no se puede observar en el host local.
No entiendo cómo arreglar esto.
Yo uso el vue.config.js con
module.exports = { publicPath: '/' }y también los enlaces a las subpáginas se ven bien pero simplemente no funcionan.
Está utilizando el modo de historial en su enrutador, para que funcione, todas las solicitudes deben volver a index.html
Todo lo que necesita hacer es agregar una ruta de respaldo simple que lo abarque todo a su servidor. Si la URL no coincide con ningún activo estático, debería publicarse en la misma página index.html en la que se encuentra su aplicación.
Dado que está utilizando cPanel, asumiría que su servidor está utilizando Apache.
Por lo tanto, deberá crear un archivo .htaccess para redirigir todas las solicitudes a index.html . Deberá crear el archivo .htaccess dentro de su carpeta public_html (asumiendo que es donde reside el código de su aplicación). Luego agrega lo siguiente.
<IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.html [L] </IfModule>