通过.htaccess进行Javascript压缩?

9 javascript apache .htaccess

我正在使用Apache.

我在我的.htaccess文件中使用以下指令动态地自动gzipping我的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
Run Code Online (Sandbox Code Playgroud)

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

任何想法为什么我的JavaScript文件没有被Apache动态gzip压缩?

小智 9

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

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml application/x-javascript text/javascript application/javascript
Run Code Online (Sandbox Code Playgroud)

获取javascript压缩/ gzip


Jim*_*uls 4

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

TypesConfig /private/etc/apache2/mime.types
Run Code Online (Sandbox Code Playgroud)

那么所说的文件应该包含这一行:

application/javascript              js
Run Code Online (Sandbox Code Playgroud)

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

AddType application/javascript .js
Run Code Online (Sandbox Code Playgroud)

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