如果上传文件目录不在项目的public中,则对项目的上传目录进行公开,才能让外界访问到上传的文件。这需要对web服务器设置下
我这里使用的是nginx
nginx设置如下:
#设置后台
server {
charset utf-8;
client_max_body_size 50m;
listen 9000; ## listen for ipv4
#listen [::]:80 default_server ipv6only=on; ## listen for ipv6
server_name www.frontend.com;
root E:/2020PHPStudy/phpstudy_pro/WWW/customer-php/backend/web/;
index index.php;
location / {
# Redirect everything that isn't a real file to index.php
try_files $uri $uri/ /index.php$is_args$args;
}
# uncomment to avoid processing of calls to non-existing static files by Yii
#location ~ \.(js|css|png|jpg|gif|swf|ico|pdf|mov|fla|zip|rar)$ {
# try_files $uri =404;
#}
#error_page 404 /404.html;
# deny accessing php files for the /assets directory
location ~ ^/assets/.*\.php$ {
deny all;
}
...
#此处为上传文件目录公开设置
location /uploads {
alias E:\2020PHPStudy\phpstudy_pro\WWW\customer-php\uploads;
access_log off;
expires 360d;
try_files $uri =403;
}
}