
# ----------------------------------------------------------------------
# Environment Name
# ----------------------------------------------------------------------

# Sets the environment that CodeIgniter runs under.
#SetEnv CI_ENVIRONMENT development

#SetEnv CI_ENVIRONMENT production
<If "%{THE_REQUEST} =~ m#login/?(\?[\w=&-]*)?\s#">
    SetEnvIf Request_URI "^/login(/)?(\?.*)?$" CI_ENVIRONMENT=production
</If>


# ----------------------------------------------------------------------
# UTF-8 encoding
# ----------------------------------------------------------------------

# Use UTF-8 encoding for anything served text/plain or text/html
AddDefaultCharset utf-8

# Force UTF-8 for a number of file formats
<IfModule mod_mime.c>
    AddCharset utf-8 .atom .css .js .json .rss .vtt .xml
</IfModule>

# ----------------------------------------------------------------------
# Rewrite engine
# ----------------------------------------------------------------------

# Turning on the rewrite engine is necessary for the following rules and features.
# FollowSymLinks must be enabled for this to work.

<FilesMatch "\.(?i:pdf)$">
   SetEnvIf Request_URI ".pdf$" requested_pdf=pdf
	Header add Content-Disposition "attachment" env=requested_pdf
</FilesMatch>

<ifModule mod_headers.c>
    Header set Connection keep-alive

        # Force no caching for dynamic files 7 day
	<filesMatch ".(cgi|pl|html|css|js)$">
		Header set Cache-Control "Public, max-age=691200"
		Header set Pragma "Public"
	</filesMatch>
        <IfModule mod_expires.c>
                ExpiresActive On
                AddType application/vnd.ms-fontobject .eot 
                AddType application/x-font-ttf .ttf
                AddType application/x-font-opentype .otf
                AddType application/x-font-woff .woff
                AddType image/svg+xml .svg

                ExpiresByType application/vnd.ms-fontobject "access 1 year"
                ExpiresByType application/x-font-ttf "access 1 year"
                ExpiresByType application/x-font-opentype "access 1 year"
                ExpiresByType application/x-font-woff "access 1 year"
                ExpiresByType image/svg+xml "access 1 days"

                ExpiresByType image/gif "access 8 days"
                ExpiresByType image/png "access 8 days"
                ExpiresByType image/jpg "access 8 days"
                ExpiresByType image/jpeg "access 8 days"
                ExpiresByType application/pdf "access 1 year"

                ExpiresByType image/x-icon "access 1 year"
                ExpiresDefault "access 10 days"
        </IfModule>

</ifModule>

<IfModule mod_rewrite.c>

	Options +FollowSymlinks
	RewriteEngine On
	RewriteBase /

	# Redirect Trailing Slashes...
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
    RewriteRule ^(.*)/$ /$1 [L,R=301]

	# Rewrite "www.example.com -> example.com"
	RewriteCond %{HTTPS} !=on
	RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
	RewriteRule ^ https://%1%{REQUEST_URI} [R=301,L]

	# Checks to see if the user is attempting to access a valid file,
    # such as an image or css document, if this isn't true it sends the
    # request to the front controller, index.php
	RewriteCond $1 !^(index\.php|resources|images|css|js|robots\.txt|favicon\.ico)
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond ${REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
	RewriteRule ^(.*)$ index.php?/$1 [L,QSA]



	# Ensure Authorization header is passed along
    RewriteCond %{HTTP:Authorization} .
RewriteCond %{REQUEST_URI} !^/\.well-known/cpanel-dcv/[0-9a-zA-Z_-]+$
RewriteCond %{REQUEST_URI} !^/\.well-known/pki-validation/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]


</IfModule>

<IfModule !mod_rewrite.c>
    # If we don't have mod_rewrite installed, all 404's
    # can be sent to index.php, and everything works as normal.
    ErrorDocument 404 index.php
</IfModule>

# ----------------------------------------------------------------------
# Gzip compression
# ----------------------------------------------------------------------

<IfModule mod_deflate.c>

	# Force deflate for mangled headers developer.yahoo.com/blogs/ydn/posts/2010/12/pushing-beyond-gzipping/
	<IfModule mod_setenvif.c>


		<IfModule mod_headers.c>
			SetEnvIfNoCase ^(Accept-EncodXng|X-cept-Encoding|X{15}|~{15}|-{15})$ ^((gzip|deflate)\s*,?\s*)+|[X~-]{4,13}$ HAVE_Accept-Encoding
			RequestHeader append Accept-Encoding "gzip,deflate" env=HAVE_Accept-Encoding
		</IfModule>
	</IfModule>



	# Compress all output labeled with one of the following MIME-types
	# (for Apache versions below 2.3.7, you don't need to enable `mod_filter`
	# and can remove the `<IfModule mod_filter.c>` and `</IfModule>` lines as
	# `AddOutputFilterByType` is still in the core directives)
	<IfModule mod_filter.c>
		AddOutputFilterByType DEFLATE application/atom+xml \
		                              application/javascript \
		                              application/json \
		                              application/rss+xml \
		                              application/vnd.ms-fontobject \
		                              application/x-font-ttf \
		                              application/xhtml+xml \
		                              application/xml \
		                              font/opentype \
		                              image/svg+xml \
		                              image/x-icon \
		                              text/css \
		                              text/html \
		                              text/plain \
		                              text/x-component \
		                              text/xml
    </IfModule>
</IfModule>


