I was trying to get a static only config for nginx working with try_files but was running into some issues. The following is what I have working right now (but does not deal with directories, showing index etc.) I would like to see if I can get a version with try_files working...
server {
listen 80;
server_name foo.com;
rewrite ^ http://www.foo.com$uri permanent;
}
# the server directive is nginx's virtual host directive.
server {
# port to listen on. Can also be set to an IP:PORT
listen 80;
# Set the charset
charset utf-8;
# Set the max size for file uploads to 10Mb
client_max_body_size 10M;
# sets the domain[s] that this vhost server requests for
server_name www.foo.com;
# doc root
root /var/www/foo.com;
# vhost specific access log
access_log /var/log/nginx_access.log main;
# Set image format types to expire in a very long time
location ~* ^.+\.(jpg|jpeg|gif|png|ico)$ {
access_log off;
expires max;
}
# Set css and js to expire in a very long time
location ~* ^.+\.(css|js)$ {
access_log off;
expires max;
}
location /blog {
rewrite ^ http://blog.foo.com permanent;
}
# Catchall for everything else
location / {
root /var/www/foo.com;
access_log off;
index index.html index.shtml;
expires 1d;
#try_files $uri $uri/;
if (-f $request_filename) {
break;
}
}
location ~* ^/(pkg|rpms)/ {
autoindex on;
}
error_page 500 502 503 504 /500.html;
error_page 404 /404.html;
}
From http://wiki.nginx.org/NginxHttpMainModule#try_files:
Without a URI at the end of the
try_files
, it won't work right.