.htaccess规则,用于在扩展名匹配时设置目录重写

时间:2012-04-18 13:15:28

标签: .htaccess mod-rewrite rewrite

目前我有

RewriteRule ^olddir/(.*).xls newdir/one/$1.xls
RewriteRule ^olddir/(.*).jpg newdir/one/$1.jpg

目前我要重写的所有文件扩展名都放在一个单独的行上。

我确定(.xls|.jpg)有更短的方法吗?这但我缺乏htaccess技能。

1 个答案:

答案 0 :(得分:2)

也许

RewriteRule ^olddir/(.+)\.(jpg|xls)$ newdir/one/$1.$2

RewriteRule ^olddir/(.+\.(jpg|xls))$ newdir/one/$1

不确定第二个,因为我没有尝试过,但应该工作...并将*更改为+因为可能应该至少有一个字符,并添加了一个\。否则它将匹配任何字符

另外,如果您需要mod_rewrite使用的正则表达式的帮助,请查看http://httpd.apache.org/docs/current/rewrite/intro.html