2017-09-29 20 views
0

html、js、およびcssのgzip/brotliファイルをあらかじめ圧縮して提供しようとしています。 次のコードを使用してください。.htaccessで事前圧縮されたgzip/brotliファイルを提供する方法

  • の.htaccess
  • のindex.php
  • /CSS/
  • /css/main.css
  • /CSS /メイン:

    RewriteEngine on 
    
        # Brotli 
        # If the web browser accept brotli encoding… 
        RewriteCond %{HTTP:Accept-encoding} br 
        # …and the web browser is fetching a probably pre-compressed file… 
        RewriteCond %{REQUEST_URI} .*\.(css|html|js) 
        # …and a matching pre-compressed file exists… 
        RewriteCond %{REQUEST_FILENAME}.br -s 
        # …then rewrite the request to deliver the brotli file 
        RewriteRule ^(.+) $1.br 
        # For each file format set the correct mime type (otherwise brotli mime type is returned) and prevent Apache for recompressing the files 
        RewriteRule "\.css\.br$" "-" [T=text/css,E=no-brotli,E=no-gzip] 
        RewriteRule "\.html\.br$" "-" [T=text/html,E=no-brotli,E=no-gzip] 
        RewriteRule "\.js\.br$" "-" [T=application/javascript,E=no-brotli,E=no-gzip] 
    
        # Gzip 
        # If the web browser accept gzip encoding… 
        RewriteCond %{HTTP:Accept-Encoding} gzip 
        # …and the web browser is fetching a probably pre-compressed file… 
        RewriteCond %{REQUEST_URI} .*\.(css|html|js) 
        # …and a matching pre-compressed file exists… 
        RewriteCond %{REQUEST_FILENAME}.gz -s 
        # …then rewrite the request to deliver the gzip file 
        RewriteRule ^(.+) $1.gz 
        # For each file format set the correct mime type (otherwise gzip mime type is returned) and prevent Apache for recompressing the files 
        RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-brotli,E=no-gzip] 
        RewriteRule "\.html\.gz$" "-" [T=text/html,E=no-brotli,E=no-gzip] 
        RewriteRule "\.js\.gz$" "-" [T=application/javascript,E=no-brotli,E=no-gzip] 
    
        <FilesMatch "\.(css|html|js)\.br$"> 
         # Prevent mime module to set brazilian language header (because the file ends with .br) 
         RemoveLanguage .br 
         # Set the correct encoding type 
         Header set Content-Encoding br 
         # Force proxies to cache brotli & non-brotli files separately 
         Header append Vary Accept-Encoding 
        </FilesMatch> 
        <FilesMatch "\.(css|html|js)\.gz$"> 
         # Serve correct encoding type 
         Header set Content-Encoding gzip 
         # Force proxies to cache gzip & non-gzip files separately 
         Header append Vary Accept-Encoding 
        </FilesMatch> 
    

    私Folderstructureは、このようになります。 css.gz

  • /css/main.css.br

しかし、上記のコードを使用すると404が表示されます。

答えて

0

RewriteBaseを設定すると修正されました。

RewriteBase/
関連する問題