博客摘自:http://tongcheng.blog.51cto.com/6214144/1427194 

Nginx配置指令try_files

    try_files指令是按顺序检测文件的存在性,并且返回第一个找到文件的内容,如果第一个找不到就会自动找第二个,依次查找.其实现的是内部跳转.以下举例说明:

案例1(跳转到变量):

  server {
     listen 8000;
     server_name 121.10.143.66;
     root html;
     index index.html index.php;
     
      location /abc {
      try_files /4.html /5.html @qwe;      --检测文件4.html和5.html,如果存在正常显示,不存在就去查找@qwe值  
      }   
      
      location @qwe  {
      rewrite ^/(.*)$  http://www.baidu.com;     --跳转到百度页面
      }
  }

 

测试:

Nginx配置指令try_files_try_files

Nginx配置指令try_files_try_files_02

 

 

案例2(跳转指定文件):

server {
   listen 8000;
   server_name 121.10.143.66;
   root html;
   index index.php index.html;
            
   location /abc {
       try_files /4.html /5.html /6.html;
   }
 }

 

 vim ../../html/6.html
      66666666666666  
         --写入内容方便测试


测试:

Nginx配置指令try_files_try_files_03

 

 

案例3(如果文件存在):

server {   
      listen 8000;   
      server_name 121.10.143.66;   
      root html;   
      index index.php index.html;
    location /abc {
       try_files /4.html /5.html /6.html;  
   }
}

vim ../../html/4.html
      4444444444  
         --如果文件存在会显示第一个文件


测试:

Nginx配置指令try_files_try_files_04