Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有附加版本号的gzip.js和.css文件_Javascript_Css_.htaccess_Gzip - Fatal编程技术网

Javascript 带有附加版本号的gzip.js和.css文件

Javascript 带有附加版本号的gzip.js和.css文件,javascript,css,.htaccess,gzip,Javascript,Css,.htaccess,Gzip,我已将以下代码添加到我的.htaccess文件中,gzip适用于下面匹配的所有文件名。我遇到的唯一问题是,任何附加了版本或内部版本号的文件都不会变成gzip文件 有人知道我如何修改以下代码以使用附加的版本/构建信息吗 .htaccess代码 <IFModule mod_deflate.c> <filesmatch "\.(js|css|html|jpg|png|php)$"> SetOutputFilter DEFLATE </filesmatch> <

我已将以下代码添加到我的.htaccess文件中,gzip适用于下面匹配的所有文件名。我遇到的唯一问题是,任何附加了版本或内部版本号的文件都不会变成gzip文件

有人知道我如何修改以下代码以使用附加的版本/构建信息吗

.htaccess代码

<IFModule mod_deflate.c>
<filesmatch "\.(js|css|html|jpg|png|php)$">
SetOutputFilter DEFLATE
</filesmatch>
</IFModule>
Cookie注意CSS版本号未压缩的示例

/wp-content/plugins/revslider/public/assets/js/jquery.themepunch.tools.min.js?ver=5.4.7.3 
/wp-content/plugins/cookie-notice/css/front.min.css?ver=ff52705092b5c9e7ebd0f25314174bde

这是一个利用浏览器缓存的问题,要解决此问题,您需要将以下四行添加到
.htaccess

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/json "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
</IfModule>
对GZIP代码的改进:


这将涵盖一切。在测试此功能之前,请确保清除缓存。

这是一个利用浏览器缓存的问题,要解决此问题,您需要在
中添加以下四行内容。htaccess

<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/json "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
</IfModule>
对GZIP代码的改进:


这将涵盖一切。在进行测试之前,请确保清除缓存。
您的filematch表达式以“css”或“js”结尾。带有“ver”(version)参数的URL用于防止文件被缓存。添加应用程序类型。filematch表达式以“css”或“js”结尾。带有“ver”(version)参数的URL用于防止文件被缓存。添加应用程序类型。例如,如果我使用此方法,我需要在更新css文件时更改代码。假设我更新style.css?v=1或其他什么,并且我得到了文本/css“access plus 1 month”,我是否需要将其更改为“1天”或其他内容,以强制该文件过期并重新加载?(有些访客甚至不知道缓存,也从不清除它们)嗨,马特。是的,没错。您还可以在进行更改后通过.htaccess强制进行缓存重新验证,而无需对其进行更改。如果你愿意的话,我可以把这个代码添加到这个答案中?但这两种方法都应该有效。似乎在应用此方法时,GTMetrix扫描仍然建议我对提及版本或构建的所有文件应用GZip压缩,这是否需要重新启动服务器?嗨,Matt,您需要同时使用GZip和利用浏览器缓存。这让我相信,您在GZIP中使用的东西也不够有效。请参阅我的编辑,其中包括了许多要添加到GZIP的内容,这应该可以解决问题。例如,如果我使用此方法,我需要在更新css文件时更改代码。假设我更新style.css?v=1或其他什么,并且我得到了文本/css“access plus 1 month”,我是否需要将其更改为“1天”或其他内容,以强制该文件过期并重新加载?(有些访客甚至不知道缓存,也从不清除它们)嗨,马特。是的,没错。您还可以在进行更改后通过.htaccess强制进行缓存重新验证,而无需对其进行更改。如果你愿意的话,我可以把这个代码添加到这个答案中?但这两种方法都应该有效。似乎在应用此方法时,GTMetrix扫描仍然建议我对提及版本或构建的所有文件应用GZip压缩,这是否需要重新启动服务器?嗨,Matt,您需要同时使用GZip和利用浏览器缓存。这让我相信,您在GZIP中使用的东西也不够有效。请参阅我的编辑,其中包括了许多要添加到GZIP的内容,这应该可以解决问题。
## GZIP COMPRESSION ##
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf