我一直在处理这个问题大约几个小时,但没有任何成功。我无法从我的项目中提供静态文件的问题。
以前我对Apache 服务器有以下规则。
RewriteRule ^assets/(.*)$ /web/assets/$1 [L]
RewriteRule ^css/(.*)$ web/css/$1 [L]
RewriteRule ^js/(.*)$ web/js/$1 [L]
RewriteRule ^images/(.*)$ web/images/$1 [L]
我在我的 nginx 配置中尝试了以下位置规则
location ~ ^/css/?(.*)$ {
#return 200 $document_root/web/css/$1;
# kill cache
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
#try_files $uri $uri/ /index.php =404;
try_files $document_root/web/css/$1 =404;
}
顺便#return 200 $document_root/web/css/$1;
返回有效路径。
但请求仍然失败。
我也尝试使用alias
如下
location ~ ^/css/?(.*)$ {
alias /var/wwww/myproject/web/css;
# kill cache
add_header Last-Modified $date_gmt;
add_header Cache-Control 'no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0';
if_modified_since off;
expires off;
etag off;
try_files $uri $uri/ /index.php =404;
}
同样的情况404,如果我在上面的位置更改404它也会返回另一个代码,因此到达位置语句但try_files不起作用
请帮助解决问题,我不知道该尝试什么。谢谢