为了缓存 .css 和 .js 文件,并且不想走查询字符串路线,我想通过 htaccess 重写以“foo*/”开头的路径来删除/忽略“foo*/” -星号可以是任何数字,因为它将是版本。
示例#1:
/foo123/css/style.css
should actually just request:
/css/style.css
示例#2:
/foo456/js/script.js
should actually request:
/js/script.js
另一种方法可能是在文件名中包含要忽略的版本号。同样,数字可以是任何东西,所以它不能被硬编码,所以也许它应该分解文件名,并删除第二部分。 示例:
/css/styles.123.css
should actually just request:
/css/styles.css
或:
/js/script.11235.js
should actually just request:
/js/script.js
到目前为止,我得到的是,这根本不起作用,这只是给了我一个 404:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.+)\.(\d+)\.(css|js)$ $1.$3 [L]
我目前有这个,用于漂亮的网址,所以需要考虑不要破坏/干扰这个:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [QSA,L]
感谢任何帮助, 谢谢!
为版本化路径添加此内容:
RewriteCond %{REQUEST_URI} ^/foo\d+/(.*)$
RewriteRule ^ /%1 [L]
用此替换版本化文件名:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)\.\d+\.(css|js)$ $1.$2 [L]