NGINX and Angular 2
I just had this same issue and found a solution. My base href is "/", however.
Below is my nginx.conf:
worker_processes 1;events { worker_connections 1024;}http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name mysite.com www.mysite.com; root /usr/share/nginx/html; location / { try_files $uri$args $uri$args/ /index.html; } }}
I was also having problems here, this is now contemplated in the angular docs: https://angular.io/guide/deployment
NGinx: use try_files, as described in Front Controller Pattern Web Apps, modified to serve index.html:
try_files $uri $uri/ /index.html;
I had the same issue with a subdomain at a site hosted with HostGator shared hosting. It appears it's running Apache 2.2.31.
Searching around eventually led me to "Apache Directives", which led me to "Custom Error Responses".
I was able to fix my issue by creating a .htaccess
file in my subdomain folder with the following line in it:
ErrorDocument 404 /index.html
Though looking at the debug tools, I'm still getting a 404 code returned even though it succeeds.
UPDATE:
Was able to fix the 404 issue by changing my .htaccess
to the following:
RewriteEngine On # 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 resource doesn't exist, use index.html RewriteRule ^ /index.html
Now I'm properly getting redirected to index.html and code is 200.