2017-03-13 61 views
0

目前,我收到一个错误,即每当我尝试通过URL操作访问图像时,laravel图像干涉程序包总是返回404错误。laravel图像干涉的nginx 404错误

我的图片存储在 '存储/程序/图片' 文件夹

我的nginx的配置:

server { 
    listen 80; 

    server_name ######; 
    rewrite ^(.*) http://#####$1 permanent; 
    }server { 
    listen 80; 

    # access_log off; 
    access_log /home/#####/logs/access.log; 
    # error_log off; 
    error_log /home/#####/logs/error.log; 

    root /home/######/public_html/dtu-feedback-api/public; 
    index index.php index.html index.htm; 
    server_name ######; 

    # Custom configuration 
    include /home/######/public_html/dtu-feedback-api/*.conf; 

    location/{ 
      try_files $uri $uri/ /index.php?$query_string; 
    } 
    if (!-d $request_filename) { 
      rewrite  ^/(.+)/$ /$1 permanent; 
    } 

    location ~ \.php$ { 
      fastcgi_split_path_info ^(.+\.php)(/.+)$; 
      include /etc/nginx/fastcgi_params; 
      fastcgi_pass 127.0.0.1:9000; 
      fastcgi_index index.php; 
      fastcgi_connect_timeout 300; 
      fastcgi_send_timeout 300; 
      fastcgi_read_timeout 300; 
      fastcgi_buffer_size 32k; 
      fastcgi_buffers 8 16k; 
      fastcgi_busy_buffers_size 32k; 
      fastcgi_temp_file_write_size 32k; 
      fastcgi_intercept_errors on; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
    } 
    location ~ /\. { 
      deny all; 
    } 
    location = /favicon.ico { 
      log_not_found off; 
      access_log off; 
    } 
    location = /robots.txt { 
      allow all; 
      log_not_found off; 
      access_log off; 
    } 
    location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ { 
      gzip_static off; 
      add_header Pragma public; 
      add_header Cache-Control "public, must-revalidate, proxy-revalidate"; 
      access_log off; 
      expires 30d; 
      break; 
    } 

    location ~* \.(txt|js|css)$ { 
      add_header Pragma public; 
      add_header Cache-Control "public, must-revalidate, proxy-revalidate"; 
      access_log off; 
      expires 30d; 
      break; 
    } 
} 

而且这里是日志:

*1 open() "/home/#####/public_html/dtu-feedback-api/public/imagecache/medium/placeholder1.png" failed (2: No such file or directory) 

看起来像它试图找到imagecache路径中的图像而不是storage路径。

所以你可以帮我解决这个错误,谢谢。

+1

Laravel具有BaseRewrite URL从根laravel方向/公共。 所以我认为你需要将图像存储路径移动到公用文件夹。 –

+0

但是这些是用户上传到服务器的图像,我应该将它们保存到“public”还是不? –

回答

0

我发现该溶液中,之后我删除

location ~* \.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|eot|svg|ttf|woff)$ { 
      gzip_static off; 
      add_header Pragma public; 
      add_header Cache-Control "public, must-revalidate, proxy-revalidate"; 
      access_log off; 
      expires 30d; 
      break; 
    } 

然后,图像链接开始工作