我的文件夹结构:
的/ var / WWW / puenktchenunda /公共/ IMG /受试者
的/ var / WWW / puenktchenunda /公共/ IMG / subjects_min
科目包含" raw"文件。 Subjects_min包含将定期创建的压缩图像。 URL调用将转到主题:
/img/subjects/img1.png
会发生什么:
第1步和第2步工作正常。这适用于此位置块:
location ~* ^.*\/img\/sujets\/.*.(jpg|png|jpeg|gif) {
root /var/www/puenktchenunda/public;
rewrite /img/sujets/(.*)$ /img/sujets_min/$1;
#try_files /img/sujets_min/$URI /img/sujet/$URI;
}
但我不确定如何完成其余的工作。有什么想法吗?
更新
这是我目前的版本。这工作正常,除了sujets_big位置块。最后有1美元的问题。整个块表达式在$ 1之后添加,而不仅仅是括号中的表达式。
location ~ /img/sujets/(.*.png)$ {
root /var/www/puenktchenunda/public/;
try_files /img/sujets_min/$1 /img/sujets_big/$1;
}
location ~ /img/sujets_big/(.*.png)$ {
root /var/www/puenktchenunda/public/img/sujets/$1;
}
答案 0 :(得分:0)
尝试这个逻辑
location ~* ^/img/subjects/([\w\-]+\.(?:jpe?g|png|gif))$ {
root /var/www/puenktchenunda/public;
set $imgfilename /img/subjects_min/$1;
if (-f $document_root$imgfilename) {
rewrite . $imgfilename break;
}
}