基于文件名重写图像路径

时间:2013-11-27 05:20:01

标签: apache mod-rewrite

现在,我正在重写图像路径,因此“images / tnAhF38eS.jpg”位于“images / tn / tnAhF38eS.jpg”,其中包含:

RewriteRule ^/images/(t([a-zA-Z0-9]).+\.jpg)$ /images/t${lc:$2|$2}/$1 [L]

第一个字符始终为“t”,第二个字母为小写字母或数字。

但是,我想基于大写的第3个字符添加另一个级别,以便“images / tnAhF38eS.jpg”位于“images / tn / A / tnAhF38eS.jpg”

如何添加?

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以使用与第一条路径相同的技巧。我假设${lc:$2|$2}是一个RewriteMap,你也希望在第二个路径名上这样做。我假设你也在虚拟主机环境中(你现在的规则做了些什么)。

RewriteRule ^/images/(t([a-zA-Z0-9])([a-zA-Z0-9])[a-zA-Z0-9]+\.jpg)$ /images/t${lc:$2|$2}/${lc:$3|$3}/$1 [L]