# Custom error pages for php scripts only
<FilesMatch \.php$>
	ErrorDocument 400 /error.php?400
	ErrorDocument 401 /error.php?401
	ErrorDocument 403 /error.php?403
	ErrorDocument 404 /error.php?404
	ErrorDocument 500 /error.php?500
</FilesMatch>

### Performance
### AddDefaultCharset utf-8

### Security
	ServerSignature Off

#Header unset Pragma

# secure htaccess file
<Files .htaccess>
	order allow,deny
	deny from all
</Files>

# protect e107_config.php
<Files e107_config.php>
	order allow,deny
	deny from all
</Files>


### Block Bad Bots
	SetEnvIfNoCase ^User-Agent$ .*(craftbot|download|extract|stripper|sucker|ninja|clshttp|webspider|leacher|collector|grabber|webpictures) HTTP_SAFE_BADBOT
	SetEnvIfNoCase ^User-Agent$ .*(libwww-perl|aesop_com_spiderman) HTTP_SAFE_BADBOT
	Deny from env=HTTP_SAFE_BADBOT

### Disable directory listing
	Options -Indexes -MultiViews

### limit file uploads to 10mb
### LimitRequestBody 10240000

<IfModule mod_rewrite.c>

    <IfModule mod_env.c>
        SetEnv HTTP_MOD_REWRITE On
        SetEnv HTTP_MOD_REWRITE_MEDIA On
        SetEnv HTTP_MOD_REWRITE_STATIC On
    </IfModule>

### enable rewrites
###	Options +FollowSymLinks 
	RewriteEngine On


### Set this to your e107 site root, path relative to web root
### Uncomment it in case your server isn't able to rewrite proper 
	#RewriteBase /
	
### Allow only GET and POST methods
	RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS|HEAD)


	RewriteRule .* - [F]

### Rewrite for Image URLs
    ReWriteRule ^media\/img\/(a)?([\d]*)x(a)?([\d]*)\/(.*)?$ thumb.php?src=e_MEDIA_IMAGE/$5&$1w=$2&$3h=$4 [NC,L]
    ReWriteRule ^media\/avatar\/(a)?([\d]*)x(a)?([\d]*)\/(.*)?$ thumb.php?src=e_AVATAR/$5&$1w=$2&$3h=$4 [NC,L]
    RewriteRule ^media\/img\/([-A-Za-z0-9+/]*={0,3})\.(jpg|gif|png)?$ thumb.php?id=$1 [NC,L]
    ReWriteRule ^theme\/img\/(a)?([\d]*)x(a)?([\d]*)\/(.*)?$ thumb.php?src=e_THEME/$5&$1w=$2&$3h=$4 [NC,L]

### Rewrite for Static Scripts
    ReWriteRule ^static\/[0-9]*\/(.*)$ $1 [NC,L]

### send 404 on missing files in these folders 
	RewriteCond %{REQUEST_URI} !^/(e107_images|e107_files)/ 

### don't rewrite for existing files, directories and links
	RewriteCond %{REQUEST_FILENAME} !-f
	RewriteCond %{REQUEST_FILENAME} !-d
	RewriteCond %{REQUEST_FILENAME} !-l 
	
### Single entry point ###
	RewriteRule .* index.php [L]

</IfModule>

### Mod_Expires Settings (when available)
### May be modified if required
    <IfModule mod_expires.c>
        ExpiresActive On
        ExpiresDefault "access plus 2 hours"
        ExpiresByType image/x-icon "access plus 1 year"
        ExpiresByType image/gif "access plus 1 week"
        ExpiresByType image/png "access plus 1 week"
        ExpiresByType image/jpg "access plus 1 week"
        ExpiresByType image/jpeg "access plus 1 week"
        ExpiresByType text/css "access plus 1 month"
        ExpiresByType application/javascript "access plus 1 month"
        ExpiresByType text/javascript "access plus 1 month"
        ExpiresByType text/x-javascript "access plus 1 month"
    </IfModule>

### Gzip Compression Module
<ifmodule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/text text/html text/plain text/xml text/css text/javascript application/x-javascript application/javascript application/xml text/xml application/rss+xml
</ifmodule>

<FilesMatch "\.(js|css|ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4|eot|otf|ttc|ttf|woff|woff2)$">
    <IfModule mod_headers.c>
        Header set Cache-Control "public"
        Header unset Cookie
        Header unset Set-Cookie
      # Header set Access-Control-Allow-Origin "http://mydomain.com"
      # Header set Access-Control-Allow-Origin "*" # if you're really stuck.
  </IfModule>
</FilesMatch>


### Enable when developing locally. 
### SetEnv E_DEV true