DynamicSSIExample

It took me a little while to figure this out and it's handy for creating one-off sites with "dynamic" content without a web framework.

user nginx; worker_processes 1;

events { worker_connections 1024; }

http { include      mime.types; default_type application/octet-stream;

sendfile     on; tcp_nopush   on; keepalive_timeout 10; gzip         on;

server { server_name localhost; charset     utf-8; access_log  /var/log/nginx/access.log;

root   /var/www;

location = / { rewrite ^ /home redirect; }

location / { ssi on; set $inc $request_uri; if (!-f $request_filename) { rewrite ^ /index.html last; }           if (!-f $document_root$inc.html) { return 404; }       }    } }

Then if you have an index.html file similar to this:

it will now include (via SSI) whatever page is requested. So for example /home would include home.html into index.html. This makes it easy to have a common style (headers and footers) without resorting to PHP or a framework.

It assumes home.html exists.