为了避免在一个文件夹中有太多的文件,我必须存储相当多的图像(比如1M),所以我打算把它们分解成与文件名相关的文件夹,例如:
/images/1/5/3/153.png
(我意识到有办法实现更均匀的分配,但我认为这将足以满足我们的需求)
但是,我希望这些可以从没有目录结构的URL访问,即:
/images/153.png
这是否有可能在Nginx中完成,例如URL重写?
嗯,在文档中find它(以前没有看到它)。 看起来像HttpRewriteModule非常简单。
注意:对于花括号({和}),因为在正则expression式和块控制中都使用它们,为了避免冲突,带有大括号的正则expression式应用双引号(或单引号)括起来。 例如,要重写URL如下所示:
/ photos / 123456到:
/path/to/photos/12/1234/123456.png使用以下内容(注意包含正则expression式的引号):
(0-9){2})([0-9] {2})“/ path / to / photos / $ 1 / $ 1 $ 2 / $ 1 $ 2 $ 3.png;