RewriteRule删除版本号

时间:2015-05-11 11:09:10

标签: apache .htaccess mod-rewrite redirect rewrite

我在网站上实施了缓存清除解决方案,在文件扩展名之前,在文件名末尾添加了版本号。但是我遇到了其中一条规则无效的问题。

典型要求:

/static/deploy/styles/site_78_direct.min.0.css
/static/deploy/styles/ie/site_78_direct.0.css

我需要将上述内容重定向到以下内容:

/static/deploy/styles/site_78_direct.min.css
/static/deploy/styles/ie/site_78_direct.css

我提出以下一半的作品:

RewriteRule ^/static/deploy/styles/ie/(.*).([0-9]+).css$ /static/deploy/styles/ie/$1.css [L]
RewriteRule ^/static/deploy/(scripts|styles)/(.*).min.([0-9]+).(js|css)$ /static/deploy/$1/$2.min.$4 [L]

以上重定向正确,但我希望忽略以下内容:

/static/deploy/styles/ie/site_78_direct-blessed1.css

如果在fullstops之间有一个数字,我基本上只想重定向,即.0.css

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:2)

确保逃脱该点,否则它将匹配任何角色。

除此之外,单一规则应适用于两种情况:

RewriteRule ^(/?static/deploy/.+?)\.\d+\.(js|css)$ $1.$2 [L,NC]