>  기사  >  백엔드 개발  >  nginx中获取图片抛404错误

nginx中获取图片抛404错误

WBOY
WBOY원래의
2016-06-06 20:15:001158검색

问题是这样的,用的是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으로 문의하세요.