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

.htaccess 带破折号的文件名的正则表达式重写规则,.htaccess,mod-rewrite,url-rewriting,.htaccess,Mod Rewrite,Url Rewriting,我得到了一个文件名,如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] </I

我得到了一个文件名,如
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>

重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(.+)\(\d+)\(js | css | png | jpg | gif)$$1.$3[L]
重写规则对文件名(如
scripts.min.4.4.2.js
)执行它的任务,这些文件名被转发到
scripts.min.js
。但对于顶部的文件名,数字之间有破折号,这条规则就行不通了

我的正则表达式知识对于这个案例来说太有限了。谁能给我一个提示吗?

你可以使用:

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

重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则^(+)\.[\d-]+\.(js | css | png | jpg | gif)$$1.$2[L]
尝试以下操作:

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

谢谢,这对我帮助很大!