我有一个像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.4.4.2.js
等文件名执行作业,并转发给scripts.min.js
。但是对于顶部的文件名,数字之间的短划线,规则不会起作用。
我的正则表达式知识对于这种情况来说太有限了。请问有人给我一个暗示吗?
答案 0 :(得分:1)
您可以使用:
<IfModule mod_rewrite.c>
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)\.[\d-]+\.(js|css|png|jpg|gif)$ $1.$2 [L]
</IfModule>
答案 1 :(得分:1)
尝试以下方法:
RewriteRule ^(\D+)[\d.-]+(js|css|png|jpg|gif)$ $1$2 [L]