Heim  >  Artikel  >  Backend-Entwicklung  >  nginx中获取图片抛404错误

nginx中获取图片抛404错误

WBOY
WBOYOriginal
2016-06-06 20:15:001160Durchsuche

问题是这样的,用的是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的用户有访问的权限。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn