【问题标题】:.htaccess mod_deflate doesn't work with js?ver and css?ver.htaccess mod_deflate 不适用于 js?ver 和 css?ver
【发布时间】:2017-11-02 20:02:15
【问题描述】:

我检查了几个线程并搜索了一个解决方案。但我无法压缩 js?ver=X 和 css?ver=X 。同样由于某些奇怪的原因,来自某个文件夹的 .svgs 也会出现,而来自其他文件夹的 .svgs 正在被压缩。

这是我的 .htaccess。根据我目前阅读的所有内容,应该没问题。除了带有 ?ver 和一些 .svg 的文件之外,压缩也适用于任何其他文件

    # BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

<IfModule mod_expires.c>
AddType application/vnd.ms-fontobject .eot 
AddType application/x-font-ttf .ttf
AddType application/x-font-opentype .otf
AddType application/x-font-woff .woff
AddType image/svg+xml .svg
ExpiresActive On
ExpiresByType text/html "access plus 500 seconds"
ExpiresByType image/gif "access plus 14 days"
ExpiresByType image/ico "access plus 14 days"
ExpiresByType image/jpeg "access plus 14 days"
ExpiresByType image/jpg "access plus 14 days"
ExpiresByType image/png "access plus 14 days"
ExpiresByType text/css "access plus 14 days"
ExpiresByType text/javascript "access plus 14 days"
ExpiresByType application/x-javascript "access plus 14 days"
ExpiresByType application/javascript "access plus 14 days"
ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
ExpiresByType application/x-font-ttf "access plus 1 year"
ExpiresByType application/x-font-opentype "access plus 1 year"
ExpiresByType application/x-font-woff "access plus 1 year"
ExpiresByType image/svg+xml "access plus 14 days"
</IfModule>

以下是我从 GTMetrix 或 PageSpeed Insights 获得的一些“启用 gzip 压缩”:

Compressing /wp-content/themes/Avada/assets/min/js/general/avada-header.js?ver=5.1.6 could save 25.0KiB (87% reduction).
Compressing /wp-content/themes/Avada/assets/css/style.min.css?ver=5.1.6 could save 132.7KiB (83% reduction).
Compressing /wp-content/themes/Avada-Child/images/icon-w-adresse.svg could save 494B (44% reduction).

Wordpress 4.7.5 + 主题:Avada 5.1.6

【问题讨论】:

  • 更新:我在 functions.php 中尝试了以下代码:// remove wp version param from any enqueued scripts function vc_remove_wp_ver_css_js( $src ) { if ( strpos( $src, 'ver=' ) ) $src = remove_query_arg( 'ver', $src ); return $src; } add_filter( 'style_loader_src', 'vc_remove_wp_ver_css_js', 9999 ); add_filter( 'script_loader_src', 'vc_remove_wp_ver_css_js', 9999 ); 它删除了我的 GTMetrix/PageSpeed 结果中的“?ver=X”部分,但它们仍然出现。这可能是其他原因吗?
  • 检查与未被压缩的资源一起返回的Content-Type 标头。被压缩的类似资源有区别吗?
  • 我什么都没注意到。这是网站:klinger-tecnoseal.com
  • 这似乎不是导致问题的查询字符串......也许是文件的位置 - 任何其他.htaccess 文件?例如,http://www.klinger-tecnoseal.com/wp-content/themes/Avada/assets/min/js/general/avada-elastic-slider.js?ver=5.1.6 似乎是压缩的,但 http://www.klinger-tecnoseal.com/wp-content/plugins/fusion-core/js/min/avada-fusion-slider.js?ver=1 不是?
  • 这是我无法理解的奇怪事情......除了根文件夹中的那个之外,我没有找到任何其他 htaccess 文件。

标签: javascript wordpress .htaccess compression mod-deflate


【解决方案1】:

谜团解开:由于某种原因,服务器是 Nginx,与其他服务器不同的是 Apache ...两者都来自同一主机。 Nginx 设置已经调整,现在一切正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 2016-11-21
    • 2018-08-03
    相关资源
    最近更新 更多