Apache 重写规则以删除版本号
我在一个站点上实现了一个缓存破坏解决方案,在文件扩展名之前的文件名末尾添加了一个版本号。然而,我有一个问题,其中一个规则不起作用 典型请求:Apache 重写规则以删除版本号,apache,.htaccess,mod-rewrite,redirect,rewrite,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/
/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
/static/deploy/styles/ie/site_78_direct-blessed1.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/site_78_direct.min.css
/static/deploy/styles/ie/site_78_direct.css
/static/deploy/styles/ie/site_78_direct-blessed1.css
我基本上只想在句点之间有一个数字时重定向,即0.css
任何帮助都将不胜感激。请确保转义圆点,否则它将匹配任何字符 除此之外,这一规则应适用于两种情况:
RewriteRule ^(/?static/deploy/.+?)\.\d+\.(js|css)$ $1.$2 [L,NC]
一切正常,谢谢。只需拆下最终闭合支架。非常感谢。如何使用像
mycss.1.0.0.css这样的文件名来实现这一点?我试过RewriteRule^(/?static/deploy/+?)\.\d+\.(js|css)$$1.$2.$3.$4[L,NC]
,但运气不好:(@newplayer65 TryRewriteRule^(/?static/deploy/*?)(?:.\d+\.(js 124; css)$$1.$2[L,NC]
谢谢@anubhava的回复!我稍后会尝试一下。我在四处寻找一些关于制定重写规则的好教程,但它们都让我困惑。你知道有什么好的教程适合那些以前没有编写过正则表达式的人吗?你可以查看正则表达式。信息网站