【发布时间】:2014-06-07 06:02:56
【问题描述】:
我的文件夹结构:
/var/www/puenktchenunda/public/img/subjects
/var/www/puenktchenunda/public/img/subjects_min
subjects 包含那些“原始”文件。 Subjects_min 包含将定期创建的压缩图像。 URL 调用将转到主题:
/img/subjects/img1.png
应该发生什么:
- 重写为subjects_min
- 如果 /img/subjects_min/img1.png 确实存在,则提供它
- 如果 /img/subjects_min/img1.png 不存在,则从 /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;
}
【问题讨论】:
标签: nginx url-rewriting