38 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			ApacheConf
		
	
	
	
	
	
			
		
		
	
	
			38 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			ApacheConf
		
	
	
	
	
	
| <IfModule mod_rewrite.c>
 | |
|   RewriteEngine On
 | |
| 
 | |
|   ##### TRY FIRST the file appended with .webp (ex. test.jpg.webp) #####
 | |
|   # Is the browser Chrome?
 | |
|   RewriteCond %{HTTP_USER_AGENT} Chrome [OR]
 | |
|   # OR Is request from Page Speed
 | |
|   RewriteCond %{HTTP_USER_AGENT} "Google Page Speed Insights" [OR]
 | |
|   # OR does this browser explicitly support webp
 | |
|   RewriteCond %{HTTP_ACCEPT} image/webp
 | |
|   # AND is the request a jpg, png or gif?
 | |
|   RewriteCond %{REQUEST_URI} ^(.+)\.(?:jpe?g|png|gif)$
 | |
|   # AND does a .ext.webp image exist?
 | |
|   RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI}.webp -f
 | |
|   # THEN send the webp image and set the env var webp
 | |
|   RewriteRule ^(.+)$ $1.webp [NC,T=image/webp,E=webp,L]
 | |
| 
 | |
|   ##### IF NOT, try the file with replaced extension (test.webp) #####
 | |
|   RewriteCond %{HTTP_USER_AGENT} Chrome [OR]
 | |
|   RewriteCond %{HTTP_USER_AGENT} "Google Page Speed Insights" [OR]
 | |
|   RewriteCond %{HTTP_ACCEPT} image/webp
 | |
|   # AND is the request a jpg, png or gif? (also grab the basepath %1 to match in the next rule)
 | |
|   RewriteCond %{REQUEST_URI} ^(.+)\.(?:jpe?g|png|gif)$
 | |
|   # AND does a .webp image exist?
 | |
|   RewriteCond %{DOCUMENT_ROOT}/%1.webp -f
 | |
|   # THEN send the webp image and set the env var webp
 | |
|   RewriteRule (.+)\.(?:jpe?g|png|gif)$ $1.webp [NC,T=image/webp,E=webp,L]
 | |
| 
 | |
| </IfModule>
 | |
| <IfModule mod_headers.c>
 | |
|   # If REDIRECT_webp env var exists, append Accept to the Vary header
 | |
|   Header append Vary Accept env=REDIRECT_webp
 | |
| </IfModule>
 | |
| 
 | |
| <IfModule mod_mime.c>
 | |
|   AddType image/webp .webp
 | |
| </IfModule>
 |