Heim > Artikel > Backend-Entwicklung > nginx中获取图片抛404错误
问题是这样的,用的是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的用户有访问的权限。