nginx - servir uniquement les images

Je suis en train de configuration de nginx donc "static.domain.com" ne peut que servir les images. C'est ce que je suis venu avec, mais je sais que cela peut être fait de manière plus efficace. Je veux le servir 403.html si quelqu'un tente d'accéder à tout .htm, .php, répertoire (autre chose que je suis absent?) les fichiers. Bien sûr, à l'exception de 403.htm et static.htm les fichiers.

Des idées comment je peut le faire correctement?

server {
     listen          xx.xx.xx.xx:80;

     server_name     static.domain.com;

     root            /www/domain.com/httpdocs;
     index           static.htm;

     access_log      off;
     error_log       /dev/null crit;

     error_page  403  /403.html;

     # Disable access to .htaccess or any other hidden file
     location ~ /\.ht  {
        deny all;
     }

     location ~* \.php {
        deny all;
     }

     # Serve static files directly from nginx
     location ~* \.(jpg|jpeg|gif|png|bmp|ico|pdf|flv|swf|exe|html|htm|txt|css|js) {
        add_header        Cache-Control public;
        add_header        Cache-Control must-revalidate;
        expires           7d;
     }
}

OriginalL'auteur Brian Smith | 2012-04-25