Hoy te voy a enseñar a poner un proyecto de Angular en un servidor Apache sin problemas, ni complicaciones. Solo tienes que seguir estos pasos:
Paso 1. Generar build del proyecto ejecutando este comando:
ng build --prod
Paso 2. Corregir los errores de código que te indique el compilador de Angular CLI y volver a ejecutar el comando para general el build para producción.
Paso 3. Copiar el contenido del build (directorio dist/nombreDelProyecto) al directorio del servidor (host) y en principio ya debería funcionar.
En el caso de que tengas tu proyecto dentro de un subdirectorio (que es lo mas normal), en mi caso dentro de una carpeta llamada client, tenemos que seguir los siguientes pasos.
Paso 4. Cambiar base url del index.html del build generado.
Paso 5. Crear un fichero .htaccess y añadirle el siguiente código para que Apache pueda trabajar bien con las rutas del proyecto de Angular:
<IfModule mod_rewrite.c> Options Indexes FollowSymLinks RewriteEngine On RewriteBase /client/ RewriteRule ^index\.html$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.html [L] </IfModule>
Y esto seria todo, con esto ya sabemos poner en producción una aplicación web creada con Angular en un servidor Apache, ya sea en local, en un servidor vps o en un hosting.