我在我的nginx配置文件中有以下内容,但它可以工作,但我不想列出每个文件扩展名。Nginx位置匹配除php之外的所有文件扩展名
location ~ \.(gif|jpg|png|css|js|ttf|woff|html|htm|unity3d) {
try_files $uri /images/default.gif;
}
有没有一种方法可以将此应用于除php文件之外的所有内容?
编辑:更新配置
主要文件:
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 ~ .+(?
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;
}
}
然后在包含的文件:
if ($http_host = groups.mission13.io) {
rewrite ^(.+)$ /index.php?path=$1;
}