更新 - 我最初的问题不太正确。 (向有关各方道歉)
再次更新 - (今天不是我今天......)
我需要重定向所有传入的图像请求:
http://www.example.com/images/asd12catalog.jpg (there is an additional alpha character)
要:
http://www.example.com/images/as-d12.jpg (I have added the "-")
所以我需要删除单词目录并更改文件名的第一部分以添加“ - ”制作as-d12.jpg。
我尝试过各种变体:
RewriteRule ^/images/[a-z0-9]catalog.jpg$ /images/$1.jpg
但我似乎无法得到匹配。
有人可以帮忙吗?
感谢。
答案 0 :(得分:3)
您的尝试非常接近,唯一的主要问题是您实际上没有将正则表达式中的任何内容包装为 capture 组。通过在下面[a-zA-Z]*[0-9]*
附近放置括号,匹配完成后,它将在变量$1
中可用。然后,您可以按照预期在重定向网址中使用此功能。
RewriteRule ^/images/([a-zA-Z]{2})([a-zA-Z]{1})([0-9]*)catalog.jpg$ /images/$1-$2$3.jpg
<强>演示:强>
答案 1 :(得分:1)
RewriteRule ^/?images/([a-zA-Z]{2})([a-zA-Z]{1})([0-9]+)catalog.jpg$ /images/$1-$2$3.jpg
您并不具体说明文件名的确切格式,但这会匹配catalog.jpg
后面的任何内容,这有望满足任何要求。
另请注意,在重写规则中匹配时,前导/
最多应该是可选的 - 从版本1开始,它们不会成为RewriteRule
解析路径的一部分。请参阅{{3 }}
编辑:再次更新新要求