Options -Indexes

# BEGIN FREE.FR
<IfDefine Free>
	php56 1
</IfDefine>
# END FREE.FR

# BEGIN PROHIBITED ACCESS TO FLATBOARD FOLDERS / FILES
<Files ".htaccess">
	Order Allow,Deny
	Deny from all
</Files>

<Files "lib/*.php">
	Order Allow,Deny
	Deny from all
</Files>

<Files "data/*">
	Order Allow,Deny
	Deny from all
</Files>
# END PROHIBITED ACCESS TO FLATBOARD FOLDERS / FILES

# BEGIN FOR ALL OTHER SERVERS EXCEPT FREE.FR
<IfDefine !Free>
	# BEGIN GZIP COMPRESSION
	<IfModule mod_gzip.c>
		mod_gzip_on Yes
		mod_gzip_dechunk Yes
		mod_gzip_item_include file \.(html?|txt|css|js|php|pl)$
		mod_gzip_item_include handler ^cgi-script$
		mod_gzip_item_include mime ^text/.*
		mod_gzip_item_include mime ^application/x-javascript.*
		mod_gzip_item_exclude mime ^image/.*
		mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
	</IfModule>
	# END GZIP COMPRESSION
	
	# BEGIN Cache-Control Headers
	<IfModule mod_headers.c>
		Header set Connection keep-alive
		Header always set X-FRAME-OPTIONS "DENY"
		Header always set X-XSS-Protection "1; mode=block"
		Header always set X-Content-Type-Options "nosniff"
		Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
		<FilesMatch "\.(ico|jpe?g|png|gif|swf)$">
			Header set Cache-Control "max-age=2592000, public"
		</FilesMatch>
		<FilesMatch "\.(css)$">
			Header set Cache-Control "max-age=604800, public"
		</FilesMatch>
		<FilesMatch "\.(js)$">
			Header set Cache-Control "max-age=216000, private"
		</FilesMatch>
		<filesmatch "\.(html|htm)$">
			Header set Cache-Control "max-age=5, public"
		</filesmatch>
	</IfModule>
	# END Cache-Control Headers
	
	# BEGIN DEFLATE COMPRESSION
	<IfModule mod_deflate.c>
		# Compress HTML, CSS, JavaScript, Text, XML and fonts
		AddOutputFilterByType DEFLATE application/javascript
		AddOutputFilterByType DEFLATE application/rss+xml
		AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
		AddOutputFilterByType DEFLATE application/x-font
		AddOutputFilterByType DEFLATE application/x-font-opentype
		AddOutputFilterByType DEFLATE application/x-font-otf
		AddOutputFilterByType DEFLATE application/x-font-truetype
		AddOutputFilterByType DEFLATE application/x-font-ttf
		AddOutputFilterByType DEFLATE application/x-javascript
		AddOutputFilterByType DEFLATE application/xhtml+xml
		AddOutputFilterByType DEFLATE application/xml
		AddOutputFilterByType DEFLATE font/opentype
		AddOutputFilterByType DEFLATE font/otf
		AddOutputFilterByType DEFLATE font/ttf
		AddOutputFilterByType DEFLATE image/svg+xml
		AddOutputFilterByType DEFLATE image/x-icon
		AddOutputFilterByType DEFLATE text/css
		AddOutputFilterByType DEFLATE text/html
		AddOutputFilterByType DEFLATE text/javascript
		AddOutputFilterByType DEFLATE text/plain
		AddOutputFilterByType DEFLATE text/xml
	</IfModule>
	# END DEFLATE COMPRESSION
	
	# BEGIN LEVERAGE BROWSER CACHING
	<IfModule mod_expires.c>
	  ExpiresActive On
	
	  # Images
	  ExpiresByType image/jpeg "access plus 1 year"
	  ExpiresByType image/gif "access plus 1 year"
	  ExpiresByType image/png "access plus 1 year"
	  ExpiresByType image/webp "access plus 1 year"
	  ExpiresByType image/svg+xml "access plus 1 year"
	  ExpiresByType image/x-icon "access plus 1 year"
	
	  # Video
	  ExpiresByType video/mp4 "access plus 1 year"
	  ExpiresByType video/mpeg "access plus 1 year"
	
	  # CSS, JavaScript
	  ExpiresByType text/css "access plus 1 month"
	  ExpiresByType text/javascript "access plus 1 month"
	  ExpiresByType application/javascript "access plus 1 month"
	
	  # Others
	  ExpiresByType application/pdf "access plus 1 month"
	  ExpiresByType application/x-shockwave-flash "access plus 1 month"
	</IfModule>
	# END LEVERAGE BROWSER CACHING
</IfDefine>
# END FOR ALL OTHER SERVERS EXCEPT FREE.FR