我正在尝试使用.htaccess压缩文件,但我收到500内部错误,
这是我正在尝试使用的代码。
# JavaScript compression htaccess ruleset
AddHandler application/x-httpd-php .js
php_value auto_prepend_file gzip-js.php
php_flag zlib.output_compression On
我也试过这个,但得到同样的错误,
<files *.html>
SetOutputFilter DEFLATE
</files>
有什么建议吗?
答案 0 :(得分:28)
您是否安装了mod_deflate
?试试这个,看看你的错误是否消失。
<ifModule mod_deflate.c>
<Files *.html>
SetOutputFilter DEFLATE
</Files>
</ifModule>
如果这样可以解决500错误,那么您可能没有安装mod_deflate
。您可以访问HTTP Compression Test。
如果您有权限,则可以通过取消注释httpd.conf
文件中的以下行来启用它。
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so
然后,您需要为要压缩的每种文件类型添加输出类型。
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript
正如评论中所述,AddOutputFilterByType
取决于mod_filter
。如果仍然出现500错误,则应检查该模块是否也已加载。
您可以在此处阅读更多内容:Use mod_deflate to Compress Web Content delivered by Apache
我找不到任何表明Siteground是否支持mod_deflate
的文档。他们的KB建议使用PHP中的gZip。
How to enable gZIP compression for your pages?
How to compress my CSS with gZIP?
答案 1 :(得分:4)
在花了几个小时的搜索后,我发现了这个article,认为其他人可能觉得有帮助,
享受。
答案 2 :(得分:1)
## DEFLATE ##
#mod_filter.so和mod_deflate.so
应该开启!!!!
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css application/x-javascript application/javascript
</ifmodule>
答案 3 :(得分:0)
这对我来说很好(粘贴在.htaccess
):
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript