【问题标题】:Javascript compression via .htaccess?通过 .htaccess 进行 Javascript 压缩?
【发布时间】:2010-09-27 06:53:25
【问题描述】:

我正在使用 Apache。

我正在使用 .htaccess 文件中的以下指令即时自动压缩 HTML 和 CSS 文件。

# Enable ETag
FileETag MTime Size


# Set expiration header
ExpiresActive on
ExpiresDefault "access plus 1 year"
ExpiresByType image/gif A2592000
ExpiresByType image/png A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType text/css A2592000
ExpiresByType text/javascript A2592000
ExpiresByType text/js A2592000


# Compress some text file types
AddOutputFilterByType DEFLATE text/html text/css text/xml application/x-javascript text/javascript text/js


# Deactivate compression for buggy browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

但是,当我使用 Firefox 的 Firebug 插件时,我注意到我的 javascript 文件没有被压缩(只有我的 HTML 和 CSS 文件被压缩)。

知道为什么我的 JavaScript 文件没有被 Apache 即时压缩吗?

【问题讨论】:

    标签: javascript apache .htaccess


    【解决方案1】:

    尝试将您的声明放在单独的行中。这是我的一个 .htaccess 文件的相关部分,它可以按需要运行。如果您将脚本保存在单独的目录中(例如 /js),那么该文件也应该在该目录中。

    AddOutputFilterByType DEFLATE text/plain
    
    AddOutputFilterByType DEFLATE text/html
    
    AddOutputFilterByType DEFLATE text/xml
    
    AddOutputFilterByType DEFLATE text/css
    
    AddOutputFilterByType DEFLATE text/javascript
    
    AddOutputFilterByType DEFLATE text/js
    
    AddOutputFilterByType DEFLATE application/xml
    
    AddOutputFilterByType DEFLATE application/xhtml+xml
    
    AddOutputFilterByType DEFLATE application/rss+xml
    
    AddOutputFilterByType DEFLATE application/javascript
    
    AddOutputFilterByType DEFLATE application/x-javascript
    

    【讨论】:

      【解决方案2】:

      我想通了,看来我需要它:

      AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/x-javascript text/javascript application/javascript
      

      让javascript压缩/gzip

      【讨论】:

      • 使用这个,我还是有同样的问题。 Javascript 和 Css 文件未压缩。
      【解决方案3】:

      您是否在 Apache 中声明了 text/javascript MIME 类型?如果您的服务器配置指向一个 mime.types 文件,其中包含以下内容之一:

      TypesConfig /private/etc/apache2/mime.types
      

      那么所述文件应该包括这一行:

      application/javascript              js
      

      否则,您应该在某处看到其中之一:

      AddType application/javascript .js
      

      至少,这是我的第一个猜测,如果 HTML 和 CSS 文件被压缩而 JavaScript 文件没有被压缩。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-10-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-16
        • 1970-01-01
        • 2016-09-24
        • 1970-01-01
        相关资源
        最近更新 更多