我制作的网站有点像imgur.com,其中包含来自网址根目录的大量图片,即i.example.com/imagefile.jpg
但是我想将服务器上的文件拆分成多个文件夹,以避免在一个文件夹中包含太多文件(以避免文件系统性能问题)。我希望每个文件夹名称都由文件名中的2个字母数字(A-Za-z0-9)字符组成,递归。
是否有一个重写规则可以使用重复模式执行此操作?
结果重写的一些例子是:
/1.jpg >>> /1/1.jpg
/ab.jpg >>> /ab/ab.jpg
/abc.jpg >>> /ab/c/abc.jpg
/abcd.jpg >>> /ab/cd/abcd.jpg
/filename.jpg >>> /fi/le/na/me/filename.jpg
URL有时也会包含短划线/连字符,我想对这些文件夹进行忽略,但保留在文件名中。即:
/this-has-dashes.jpg >>> /th/is/ha/sd/as/he/s/this-has-dashes.jpg
单一规则是否可以实现?那太好了。但如果没有,我很乐意为各种预期长度的文件名编写多个规则。