首页 >后端开发 >php教程 >nginx中获取图片抛404错误

nginx中获取图片抛404错误

WBOY
WBOY原创
2016-06-06 20:15:001182浏览

问题是这样的,用的是TP框架,web服务器是nginx。重写了uri使其请求时过滤了/index.php/*

上线后,页面获取js正常,获取css也正常,但在读取css中设好的png,jpg等图片时报404。求各位大神解决方案。

nginx设置:

<code>server {
        listen       81;
        server_name  location;
        charset utf-8;

        # 开启Gzip压缩
        gzip on;
        gzip_min_length 1k;
        gzip_buffers 4 16k;
        #gzip_http_version 1.0;
        gzip_comp_level 3;
        gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        gzip_vary off;
        gzip_disable "MSIE [1-6]\.";

        location / {
            root   /home/dy;
            index  index.html index.htm index.php;
            try_files $uri $uri/ /index.php?s=$uri;
        }

        location ~ \.php$ {
            root          /home/dy;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}</code>

错误日志:

<code>2016/03/16 12:14:11 [error] 8296#0: *4 open() "/home/dy/public/indeximg/bg_head.png" failed (2: No such file or directory), client: xxx.xxx.xxx.xxx, server: location, request: "GET /public/indeximg/bg_head.png HTTP/1.1", host: "xxx.xxx.xxx.xxx:81", referrer: "http://xxx.xxx.xxx.xxx:81/Public/css/main.css"</code>

访问日志:

<code>101.44.221.162 - - [16/Mar/2016:12:28:52 +0800] "GET /public/indeximg/bg_head.png HTTP/1.1" 404 31 "http://xxx.xxx.xxx.xxx:81/Public/css/main.css" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"</code>

回复内容:

问题是这样的,用的是TP框架,web服务器是nginx。重写了uri使其请求时过滤了/index.php/*

上线后,页面获取js正常,获取css也正常,但在读取css中设好的png,jpg等图片时报404。求各位大神解决方案。

nginx设置:

<code>server {
        listen       81;
        server_name  location;
        charset utf-8;

        # 开启Gzip压缩
        gzip on;
        gzip_min_length 1k;
        gzip_buffers 4 16k;
        #gzip_http_version 1.0;
        gzip_comp_level 3;
        gzip_types text/plain application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        gzip_vary off;
        gzip_disable "MSIE [1-6]\.";

        location / {
            root   /home/dy;
            index  index.html index.htm index.php;
            try_files $uri $uri/ /index.php?s=$uri;
        }

        location ~ \.php$ {
            root          /home/dy;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            include        fastcgi_params;
        }
}</code>

错误日志:

<code>2016/03/16 12:14:11 [error] 8296#0: *4 open() "/home/dy/public/indeximg/bg_head.png" failed (2: No such file or directory), client: xxx.xxx.xxx.xxx, server: location, request: "GET /public/indeximg/bg_head.png HTTP/1.1", host: "xxx.xxx.xxx.xxx:81", referrer: "http://xxx.xxx.xxx.xxx:81/Public/css/main.css"</code>

访问日志:

<code>101.44.221.162 - - [16/Mar/2016:12:28:52 +0800] "GET /public/indeximg/bg_head.png HTTP/1.1" 404 31 "http://xxx.xxx.xxx.xxx:81/Public/css/main.css" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:45.0) Gecko/20100101 Firefox/45.0"</code>

ls /home/dy/public/indeximg/bg_head.png

ls /home/dy/public/indeximg/bg_head.png看看这个图片在不在,如果在的话,是否nginx的用户有访问的权限。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn