# If you are receiving "Internal Server Error" message - make sure mod_rewrite is enabled in apache

## Turn on the engine
RewriteEngine on  

## Begin - Rewrite rules to block out some common exploits.
# If you experience problems on your site block out the operations listed below
# This attempts to block the most common type of exploit `attempts`
#
# Block out any script trying to base64_encode data within the URL.
RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
# Block out any script that includes a <script> tag in URL.
RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
# Block out any script trying to set a PHP GLOBALS variable via URL.
RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
# Block out any script trying to modify a _REQUEST variable via URL.
RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
# Return 403 Forbidden header and show the content of the root homepage
RewriteRule .* index.php [F]
#
## End - Rewrite rules to block out some common exploits.

# If you are receiving a "Internal Server Error" message make sure to
# Tune path if installing into subfolder, ie "RewriteBase /exchange/"
# RewriteBase /

##Add the custom 404 page
ErrorDocument 404 /404.php

### re-direct to www
#RewriteCond %{HTTP_HOST} ^example.com
#RewriteRule (.*) http://www.example.com/$1 [R=301,L]

##Deny files that do not need accessed
<FilesMatch "\.(htaccess|htpasswd|ini|log|sh|inc|bak|phtml|sql)$">
    Order Allow,Deny
    Deny from all
</FilesMatch>

