为什么这个重写规则要求*。*

我想redirect任何图像的请求,这些图像的文件名以string“myimage_”开头,到另一台服务器上的子目录。 我想了解为什么以下规则不适用于我的用例。

RewriteRule ^img/app/(gi_*)$ http://images.mydomain.com/targetdir/$1 [R=301,L] 

但是这个呢:

 RewriteRule ^img/app/(myimage_*.*)$ http://images.mydomain.com/targetdir/$1 [R=301,L] 

mod_rewrite使用正则expression式(或“RegEx”)来匹配重写规则input,而在正则expression式中*不是通配符。 *仅仅意味着“匹配前一个令牌零次或多次” – 在这种情况下,前面的令牌是_所以img/app/gi将返回一个匹配,就像img/app/gi___

在正则expression式中. 是一个通配符,这就是为什么.*有效,但是*不能。