Web-Server

僅用於 nginx 的靜態配置?

  • July 27, 2009

我試圖為使用 try_files 的 nginx 獲取僅靜態配置,但遇到了一些問題。以下是我現在正在工作的內容(但不處理目錄,顯示索引等)我想看看我是否可以獲得一個 try_files 工作的版本……

 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;

 }

來自http://wiki.nginx.org/NginxHttpMainModule#try_files

如果沒有找到文件,則呼叫內部重定向到最後一個參數。

如果沒有 URI 末尾的 URI try_files,它將無法正常工作。

引用自:https://serverfault.com/questions/46744