1

我有一个非常具体的要求,坦率地说,我非常讨厌正则表达式。

程序生成各种大小的图像并将它们放在与图像同名的文件夹中,然后生成的各种图像根据它们的尺寸获得一个新名称。

例如:/assets/images/waterlilly/0800x0600.jpg,/assets/images/waterlilly/0400x0300.jpg

由于 SEO,文件名相当不受欢迎......所以我想如果图像标签的 src 属性可以是 /assets/images/0800x0600/waterlilly.jpg 我可以“简单地”为 htaccess RewriteRule 编写一个正则表达式......

当然,更改调整图像大小的工具的编程目前不是一个选项(可悲)

所以我的正则表达式是:

(.*?)+/[0-9]+x[0-9]+/(.*?)+\.(.*?)+

对于正则表达式匹配的测试文件“/assets/images/0800x0600/waterlilly.jpg”,我如何获得以下内容?

$1 = /assets/images/
$2 = 0800x0600
$3 = waterlilly
$4 = jpg

提前致谢!

4

1 回答 1

0

这个正则表达式应该适合你:

^(.+?)/([^/]+)/([0-9]+x[0-9]+)\.(.*)$

这是适合您的 RewriteRule:

RewriteRule ^(.+?)/([^/]+)/([0-9]+x[0-9]+)\.(.*)$ /$1/$3/$2.$4 [L]
于 2013-07-17T10:32:55.457 回答