htaccess - 重写图像路径(带子目录)

时间:2014-03-12 16:37:20

标签: html image .htaccess mod-rewrite

我的图片结构如下:

/uploads/middle/ex.png
/uploads/thumb/ex.png

我会将其更改为:

/images/trees/ex_middle.png/images/trees/ex_thumb.png

如果我能像这样访问它们会很好:

/images/ex_middle.png/images/ex_thumb.png

这可能吗?我试过了:

RewriteRule ^images/(.+)$ uploads/middle/$1 [NC,L]
RewriteRule ^images/trees/(.+)$ uploads/middle/$1 [NC,L]

但这仅适用于一条路径,我不知道如何重写文件名 - 任何建议?

招呼

2 个答案:

答案 0 :(得分:1)

RewriteRule ^/images/(trees/)?(.+)_(middle|thumb)(.+)$ uploads/$3/$2$4 [NC,L]

通过匹配URL的片段来工作,假设文件库的后缀总是middlethumb并且trees/是可选的,它然后使用各种块的匹配进行连接

答案 1 :(得分:1)

您可以在文档根目录中使用此规则:

RewriteEngine On
RewriteRule ^images/([^_]+)_(.+)$ /uploads/$2/$1.png [NC,L]

这将支持您所需的结构:/images/ex_middle.png and /images/ex_thumb.png