try_files behaviour details

Ensiferous nginx-forum at
Tue Aug 17 00:07:41 MSD 2010


I have a question about how try_files works in some cases. The standard
case seems to be 

server {
	server_name foo;

	location / {
		try_files $uri index.html;

Here nginx tries $uri and then finally index.html if no other location
block matches. Now say that there are no other location blocks and nginx
enters location / again, the try_files directive is then skipped as it's
already been used once, right?

Second example:

server {
	server_name bar;

	try_files $uri index.php;

Here try_files is used in the server block. The wiki says try_files
can't be used here but Nginx will happily accept it, from my testing it
seems to behave identically to the first example except it's always
executed. Is this a correct assumption?

Posted at Nginx Forum:,120447,120447#msg-120447

More information about the nginx mailing list