带破折号的文件名的正则表达式重写规则



我得到了一个像jquery.form.min.3.51.0-2014.06.20.js这样的文件名,并希望更改以下重写规则以删除点,破折号和数字。

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+).(d+).(js|css|png|jpg|gif)$ $1.$3 [L]
</IfModule>

重写规则对转发给scripts.min.js的文件名(如scripts.min.4.4.2.js)执行工作。但是对于顶部的文件名,数字之间有破折号,该规则将不起作用。

在这种情况下,我的正则表达式知识太有限了。有人可以给我一个提示吗?

您可以使用:

<IfModule mod_rewrite.c>
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.+).[d-]+.(js|css|png|jpg|gif)$ $1.$2 [L]
</IfModule>

尝试以下操作:

RewriteRule ^(D+)[d.-]+(js|css|png|jpg|gif)$ $1$2 [L]

最新更新