Nginx Standort match, in dem alle Dateiendungen außer php

Habe ich Folgendes in meiner nginx-config-Datei funktioniert es, aber ich will nicht zu haben, um die Liste jedes Datei-Erweiterung.

location ~ \.(gif|jpg|png|css|js|ttf|woff|html|htm|unity3d) {
    try_files $uri /images/default.gif;
}

Gibt es eine Möglichkeit, dies alles mit Ausnahme von php-Dateien?

Edit: Aktualisierte Config

Die main-Datei:

server{
    listen 80 default_server;

    server_name    _;
    root           /usr/share/nginx/html/$http_host;
    index          index.php index.html index.htm;

#    location ~ \.(gif|jpg|png|css|js|ttf|woff|html|htm|unity3d|tpl) {
#        try_files $uri /images/default.gif =404;
#    }

    location ~ .+(?<!\.php)$ {
        location ~ ^[^.]+\.[^.]+$ {
            try_files $uri /images/default.gif =404;
        }

        location ~ /{
            try_files $uri $uri//index.html;
            include /usr/share/nginx/conf/mission13.io.conf;
        }

    }

    location ~ \.php$ {
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Dann in der Datei enthalten:

if ($http_host = groups.mission13.io) {
    rewrite ^(.+)$ /index.php?path=$1;
}
Schreibe einen Kommentar