I could not figure out why try_files in a nested location defined with a regexp does not work in nginx/1.4.6 under Ubuntu 14.04. Consider the following config:
server { listen 8080 default_server; root /usr/share/nginx/html; autoindex on; location /x/ { alias /test/; location ~ ^/x/test { try_files $uri =404; } } } With /test containing publically readable file test.html and directory test_dir this does not works as expected. While localhost:/x/ properly lists directory context of /test and localhost:/x/test_dir/ is reported as 404 not found , nginx also reported as 404 not found localhost:/x/test.html even if the file exists. Now, if replace the regexp with a simple prefix so the location reads: location /x/ { alias /test/; location /x/test { try_files $uri =404; } } then everything work. That is, both localhost:/x/ and localhost:/x/test.html are accessible and only localhost:/x/test_dir/ is 404 not found. So what is wrong with the usage of try_files in the initial regexp-based location config? Posted at Nginx Forum: http://forum.nginx.org/read.php?2,254033,254033#msg-254033 _______________________________________________ nginx mailing list nginx@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx