apache .gz gzip content handler for Linux documentation /usr/share/doc and localhost/doc/

前端 未结 2 1935
长情又很酷
长情又很酷 2021-02-03 14:32

How could I create a simple content handler for apache .gz gzip content. I want it to uncompress say http://localhost/doc/FAQ/Linux-FAQ.gz and send it to the browser as plain te

2条回答
  •  南笙
    南笙 (楼主)
    2021-02-03 14:54

    I've used something like this before for js/css files (I modified the below to match your needs). Add this to your virtualhost entry:

    Alias /doc/ "/usr/share/doc/"
    Alias local.doc "/usr/share/doc/"
    
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    
        AddEncoding gzip gz
        
          ForceType text/plain
          Header set Content-Encoding: gzip
        
    
    

    Updated above to match your code

    In ubuntu ensure that Headers module is enabled

    $ sudo a2enmod headers  
    $ sudo a2enmod deflate
    $ sudo apache2ctl restart
    

    Update2: Realized that "AddEncoding gzip gz" was missing.. otherwise, file kept trying to download.

    Update3: Added apache module deflate install command. Here's my deflate.conf:

    
          # these are known to be safe with MSIE 6
          AddOutputFilterByType DEFLATE text/html text/plain text/xml
    
          # everything else may cause problems with MSIE 6
          AddOutputFilterByType DEFLATE text/css
          AddOutputFilterByType DEFLATE application/x-javascript application/javascript application/ecmascript
          AddOutputFilterByType DEFLATE application/rss+xml
    
    

    You could first try with some other type of file (e.g. a css file). Example:

    cd /usr/share/doc
    cat ".styles { width: 50px; }" > test.css
    gzip -c test.css > test.css.gz
    

    Add this to your virtualhost:

        
            ForceType text/css
            Header set Content-Encoding: gzip
        
    

    Test http://127.0.0.1/doc/test.css and http://127.0.0.1/doc/test.css.gz and see what result you get.

提交回复
热议问题