2016-06-17 4 views
0

정적 인 웹 페이지가 있고 사용 가능한 모든 파일의 gzip 버전을 제공하여 로딩 성능을 향상시키고 싶습니다. 페이지가 아파치 서버에서 실행 중입니다. mod_gzip .htaccess 파일을 제외한 모든 구성을 변경할 수 없습니다. 따라서 빌드 프로세스 중에 gzip 파일을 만들고 들어오는 요청을 .gz 파일로 다시 쓰려고합니다.다시 쓰기 할 때 아파치가 콘텐츠 유형을 변경하지 못하도록 함

<IfModule mod_rewrite.c> 
    RewriteEngine on 
    RewriteBase/
    ReWriteCond %{HTTP:accept-encoding} gzip 
    ReWriteCond %{REQUEST_FILENAME} !.+\.gz$ 
    RewriteCond %{REQUEST_FILENAME}.gz -f 
    RewriteRule (.+) $1.gz [L] 
</IfModule> 

다시 쓰기는 완벽하게 작동하지만, unfotunately 서버는 브라우저 파일을 다운로드하고 렌더링하지하게 응용 프로그램/X-gzip으로에 대한 응답의 콘텐츠 형식을 변경합니다. 아파치 서버가 콘텐츠 형식을 변경하지 못하게하고 gz를 다운로드하는 대신 페이지를 렌더링하는 방법이 있습니까?

+0

어떤 파일에 gz 버전이 있습니까? html, css, js? – slapyo

+0

예, html, css 및 js입니다. 하지만 글꼴 파일 (eot, ttf, woff ...) – andipaetzold

답변

0

이렇게하려면 다음과 같은 두 가지 버전의 파일이 필요합니다. 예를 들어 :

index.html 
index.html.gz 

styles.css 
styles.css.gz 

scripts.js 
scripts.js.gz 

이 htaccess로는 브라우저에 GZ 버전을 보낼 수있는 요청을 다시뿐만 아니라 원본 파일의 형식을 유지합니다. 보내려는 파일의 유형을 강요해야합니다. 그렇지 않으면 application/x-gzip을 사용하고 브라우저가 파일을 다운로드합니다.

<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE text/html text/plain text/css application/json application/javascript application/vnd.ms-fontobject application/font-ttf application/font-woff application/font-otf image/svg+xml 
</IfModule> 

<IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteCond %{HTTP:Accept-Encoding} gzip 
    RewriteCond %{REQUEST_FILENAME}.gz -f 
    RewriteRule (.*\.(html|css|js|eot|ttf|woff|otf|svg))$ $1.gz [L] 
</IfModule> 

AddEncoding x-gzip .gz 

<FilesMatch .*\.html.gz> 
    ForceType text/html 
</FilesMatch> 

<FilesMatch .*\.css.gz> 
    ForceType text/css 
</FilesMatch> 

<FilesMatch .*\.js.gz> 
    ForceType application/javascript 
</FilesMatch> 

<FilesMatch .*\.eot.gz> 
    ForceType application/vnd.ms-fontobject 
</FilesMatch> 

<FilesMatch .*\.ttf.gz> 
    ForceType application/font-ttf 
</FilesMatch> 

<FilesMatch .*\.woff.gz> 
    ForceType application/font-woff 
</FilesMatch> 

<FilesMatch .*\.otf.gz> 
    ForceType application/font-otf 
</FilesMatch> 

<FilesMatch .*\.svg.gz> 
    ForceType image/svg+xml 
</FilesMatch> 
+0

나를 위해 일했습니다 - 고마워요! – andipaetzold

관련 문제