htaccess重定向文件名的一部分

时间:2014-04-08 11:45:35

标签: regex apache .htaccess mod-rewrite redirect

我已经阅读了几篇关于在htaccess中使用正则表达式重定向文件和网址的页面,但没有找到我想要实现的目标。

我们有旧的文件名,例如/images/imagename-70-70.jpg - 这些已经被100x100版本所取代,所以文件名现在是/images/imagename-100-100.jpg

对于旧文件名的请求,我们的日志文件中出现了很多错误。有没有办法根据拆分文件名重定向?

例如:

/images/$1-70-70.jpg should redirect to /images/$1-100-100.jpg

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

这应该有效:

RewriteEngine on

RewriteRule ^images/(\w+)-70-70\.jpg$ images/$1-100-100.jpg [L,R=301]  

答案 1 :(得分:0)

将此作为您的第一条规则:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+images/(.+?)-70-70\.(\S+) [NC]
RewriteRule ^ /photos/%1-100-100.%2 [L,R=301]