I want to deploy an Angular 2 application on an Apache server. I've read various guides like this and this but none of them is working. I have npm and ng installed on the server.
In a nutshell, here's what I did:
- Cloned complete project repository on my server.
- Installed dependencies using
npm install. - Used
ng build --prodcommand and it created adistdirectory. - Changed
apacheroot to/var/www/html/distdirectory. - Enabled
mod_rewrite, restartedapacheand added this.htaccessin mydistdirectory.
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]
</IfModule>
But only my home page domain.com works, other pages like domain.com/login, domain.com/register etc. throw 404 error. Even domain.com/index.html/login doesn't work.
The application works fine on my local system where I'm developing it using ng serve. What am i missing?