过去2小时我一直在尝试这个。
如何使用mod重写来执行此操作:
/assets/app.min.4364736473.js - > /assets/app.min.js
/assets/app.min.4364736473.css - > /assets/app.min.css
答案 0 :(得分:4)
并不是说nikoshr的答案有任何问题,但也许这是多功能的,可以在网站的任何地方使用该格式,因为它不太可能用于任何通常的扩展。如果是,它会在执行前检查具有该号码的文件是否存在。 .min
是可选的,无论是否有效:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.\d+(\.(?:js|css))$ $1$2
最后,不要使用[L]
标志,因为可能需要在重写的URL上应用其他规则,而不需要停止发生这种情况。
它只能在.htaccess
或<Directory>
上下文中正常使用。否则(在根配置或<VirtualHost>
上下文中)将需要修改文件测试才能工作,否则现有文件将不会被注意到,并且无论如何都会执行。
答案 1 :(得分:2)
可能是
RewriteEngine on
RewriteRule /assets/app\.min\.\d+\.js$ /assets/app.min.js [L]
RewriteRule /assets/app\.min\.\d+\.css$ /assets/app.min.css [L]