<IfModule mod_headers.c>
	Header append Vary Accept-Encoding
	Header append Vary User-Agent
	Header set Connection keep-alive
	Header unset ETag
	FileETag None

	<FilesMatch "\.(js|css|jpg|png)$">
		Header set Cache-Control "max-age=31536000"
	</FilesMatch>
	
	Header set Access-Control-Allow-Origin *
</IfModule>

<IfModule mod_filter.c>
	<IfModule mod_deflate.c>
		AddOutputFilterByType DEFLATE text/plain
		AddOutputFilterByType DEFLATE text/html
		AddOutputFilterByType DEFLATE text/xml
		AddOutputFilterByType DEFLATE text/css
		AddOutputFilterByType DEFLATE application/xml
		AddOutputFilterByType DEFLATE application/xhtml+xml
		AddOutputFilterByType DEFLATE application/rss+xml
		AddOutputFilterByType DEFLATE application/javascript
		AddOutputFilterByType DEFLATE application/x-javascript
	</IfModule>
</IfModule>
 
<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes
    RewriteRule ^(.*)/$ /$1 [L,R=301]
	
	# Handle Template Files
	RewriteRule ^theme/([^/]+)/(.*)$ index.php?theme=$1&file=$2 [QSA,L]
	RewriteRule ^(css|js|fonts|images|assets)/(.*)$ default/$1/$2 [QSA,L]
	
    # Handle Front Controller
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [QSA,L]
</IfModule>