Então, você precisa criar redirecionar sempre para index.html
para qualquer acesso feito ao seu apache, exceto para API's. Só assim o HTML5Mode funcionará.
Sobre como configurar o apache,
https://stackoverflow.com/questions/22739455/htaccess-redirect-for-angular-routes/22740184#22740184
Eu não configuro nunca o apache diretamente em minhas aplicaçõess Node.js, então tem que saber um pouco sobre o htaccess file.
A síntese desse post é o este arquivo:
# If an existing asset or directory is requested go to it as it is
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -f [OR]
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} -d
RewriteRule ^ - [L]
# If the requested pattern is file and file doesn't exist, send 404
RewriteCond %{REQUEST_URI} ^(\/[a-z_\-\s0-9\.]+)+\.[a-zA-Z]{2,4}$
RewriteRule ^ - [L,R=404]
# otherwise use history router
RewriteRule ^ /index.html