Php Nginx-不带扩展的图像服务

Php Nginx-不带扩展的图像服务,php,nginx,centos,Php,Nginx,Centos,所以我从一台cPanel移动到了CentOS服务器,所有的文件都加载得很好。移动时,我注意到如果没有扩展,我无法提供图像,例如: domain.com/uploads/avatars/avatar_5.?dateline=1501944732 但在cPanel,这是非常好的。在过去的几个小时里,我一直在修改Nginx,编辑default.cnf等等。有什么想法吗 编辑:当前显示的错误为“404未找到” 如果需要恢复,我也有原始配置 .htaccess从旧cPanel(Apache)访问 默认情况

所以我从一台cPanel移动到了CentOS服务器,所有的文件都加载得很好。移动时,我注意到如果没有扩展,我无法提供图像,例如:

domain.com/uploads/avatars/avatar_5.?dateline=1501944732 但在cPanel,这是非常好的。在过去的几个小时里,我一直在修改Nginx,编辑default.cnf等等。有什么想法吗

编辑:当前显示的错误为“404未找到”

如果需要恢复,我也有原始配置

.htaccess从旧cPanel(Apache)访问


默认情况下,nginx将根据扩展添加
内容类型
。但在您的情况下,如果缺少扩展,它将无法添加内容类型。因此,您需要自己添加一个

location ~ /(upload/avatars) {
    allow all;
    add_header Content-Type image/png;
}
如果存储png或
image/jpeg

编辑-1

似乎您应该设置
default\u type
指令

location ~ /(upload/avatars) {
    allow all;
    default_type image/png;
}
编辑-2

要在结束时摆脱
,并且仍然为文件提供服务器,请使用

location /uploads/avatars/ {
   default_type image/png;
   try_files $uri @without-dot;
}

location @without-dot {
  rewrite ^/(.*)\.$ /$1;
}
编辑-3

要在结束时删除
,并仍然为文件提供服务器,请更改现有的位置块

location ~ /(upload/avatars) {
   allow all;
   default_type image/png;
   try_files $uri @without-dot;
}

location @without-dot {
  rewrite ^/(.*)\.$ /$1;
}

评论不适用于扩展讨论或调试会话;这段对话已经结束。如果您仍然有问题,请使用相关信息更新您的问题。@CodyGray,我想如果声誉<20,您就不能加入聊天室了?自动将评论移动到聊天室会授予相关用户该特权,而不管他们的声誉如何。他们不能在其他地方聊天,但他们可以在这个房间聊天。
location ~ /(upload/avatars) {
    allow all;
    default_type image/png;
}
location /uploads/avatars/ {
   default_type image/png;
   try_files $uri @without-dot;
}

location @without-dot {
  rewrite ^/(.*)\.$ /$1;
}
location ~ /(upload/avatars) {
   allow all;
   default_type image/png;
   try_files $uri @without-dot;
}

location @without-dot {
  rewrite ^/(.*)\.$ /$1;
}