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