# HTTP version
# Information: https://github.com/exodus4d/pathfinder/wiki/Apache

# Enable rewrite engine and route requests to framework ===========================================
RewriteEngine On

# Rewrite NONE www. to force www. =================================================================
RewriteCond %{HTTP_HOST} !^www\.
# skip "localhost" (dev environment)...
RewriteCond %{HTTP_HOST} !=localhost
# skip IP calls (dev environment) e.g. 127.0.0.1
RewriteCond %{HTTP_HOST} !^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$
# rewrite everything else to "http://" and "www."
RewriteRule .* http://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# Some servers require you to specify the `RewriteBase` directive
# In such cases, it should be the path (relative to the document root)
# containing this .htaccess file:
# RewriteBase /app/

# Protect system files ============================================================================
RewriteCond %{ENV:REDIRECT_STATUS} ^$
RewriteRule ^(lib|tmp)\/|\.(ini|php)$ - [R=404]

# Rewrite "everything" to index.php (dispatcher) ==================================================
RewriteCond %{REQUEST_FILENAME} !-l
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php [L,QSA]
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L]

# PHP global Vars (can be set in php.ini as well,...) =============================================
php_value max_input_vars 5000
php_value suhosin.get.max_vars 5000
php_value suhosin.post.max_vars 5000
php_value suhosin.request.max_vars 5000

# Activate PHP error log ==========================================================================
php_flag log_errors on
php_value error_log "/www/htdocs/w0128162/www.pathfinder-dev.exodus4d.de/logs/php_errors.log"

# Cache Header ====================================================================================
# You should not change anything in here!
# New versioned files come with a unique path (e.g. ../js/v1.0.0/..) to force client cache busting.
<ifmodule mod_expires.c>
    # fonts
    <Filesmatch "\.(eot|woff2|woff|ttf|ttf|svg)$">
        ExpiresActive on
        ExpiresDefault "access plus 1 month"
        Header append Cache-Control "public"
    </Filesmatch>

    # images/vector graphics
    <Filesmatch "\.(jpg|jpeg|png|gif|swf|ico|svg)$">
        ExpiresActive on
        ExpiresDefault "access plus 1 year"
        Header append Cache-Control "public"
        FileETag None
        Header unset ETag
    </Filesmatch>

    # css
    <Filesmatch "\.(css)$">
        ExpiresActive on
        ExpiresDefault "access plus 1 month"
    </Filesmatch>

    ## js/source maps
    <Filesmatch "\.(js|map)$">
        ExpiresActive on
        ExpiresDefault "access plus 1 year"
        Header append Cache-Control "public"
        FileETag None
        Header unset ETag
    </Filesmatch>

    # html templates
    <Filesmatch "\.(htm|html)$">
        ExpiresActive on
        ExpiresDefault "access plus 1 week"
    </Filesmatch>
</ifmodule>