nginx: send all requests to a single html page nginx: send all requests to a single html page nginx nginx

nginx: send all requests to a single html page


I think this will do it for you:

location / {    try_files /base.html =404;}


Using just try_files didn't work for me - it caused a rewrite or internal redirection cycle error in my logs.

The Nginx docs had some additional details:

http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files

So I ended up using the following:

root /var/www/mysite;location / {    try_files $uri /base.html;}location = /base.html {    expires 30s;}


Your original rewrite should almost work. I'm not sure why it would be redirecting, but I think what you really want is just

rewrite ^ /base.html break;

You should be able to put that in a location or directly in the server.