首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

DX2开启X-sendfile后和Nginx的Expire冲突,导致图片不能用附件上载的方式上载

2012-09-10 
DX2开启X-sendfile后和Nginx的Expire冲突,导致图片不能用附件下载的方式下载我的服务器使用nginx1.1.0X-se

DX2开启X-sendfile后和Nginx的Expire冲突,导致图片不能用附件下载的方式下载


我的服务器使用nginx1.1.0
X-sendfile设置如下

    ? ?? ???location /down {
    ? ?? ???internal;
    ? ?? ???alias? ? /home/data/bbs/data/attachment/forum;
    ? ?? ???}
复制代码静态文件Expires设置如下
    location ~* \.(gif|jpg|jpeg|png|bmp|ico|css|js|swf)$
    ? ?? ???{
    ? ?? ?? ?? ?access_log off;
    ? ?? ?? ?? ?expires 30d;
    ? ?? ?? ?? ?FileETag on;
    ? ?? ?? ?? ?etag_format "%X%X";
    ? ?? ???}
复制代码config_global.php附件下载设置如下:
    $_config['download']['readmod'] = 4;
    $_config['download']['xsendfile']['type'] = '1';
    $_config['download']['xsendfile']['dir'] = '/down/';
复制代码

现出现这个问题,就是但凡出现在Exipres设置里的文件类型,都无法通过附件的方式下载,但是图片可以直接显示在论坛里,把鼠标移动到图片上以后,出现”下载附件“的链接,点击后就显示找不到附件。如果从Expires设置里去掉相应的后缀,就不会出现这个问题,请官方查看一下具体是什么原因引起的

?

?

自己解决了,在forum_attachment.php找到

    $type = intval($xsendfile['type']);
复制代码在底下加上
    ? ? ? ? if($isimage){
    ? ? ? ? ? ? ? ? $type = 0;
    ? ? ? ? }
复制代码

热点排行