<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk
Yes
mod_gzip_keep_workfiles No
mod_gzip_can_negotiate Yes
mod_gzip_add_header_count Yes
mod_gzip_send_vary
Yes
mod_gzip_command_version '/mod_gzip_status'
mod_gzip_min_http
1000
mod_gzip_minimum_file_size 300
mod_gzip_maximum_file_size
512000
mod_gzip_maximum_inmem_size 60000
mod_gzip_handle_methods GET
POST
mod_gzip_temp_dir /tmp
mod_gzip_item_include file
/$
mod_gzip_item_include file .php$
mod_gzip_item_include file
.pl$
mod_gzip_item_include file .rb$
mod_gzip_item_include file
.py$
mod_gzip_item_include file .cgi$
mod_gzip_item_include file
.css$
mod_gzip_item_include file .js$
mod_gzip_item_include mime
^application/javascript$
mod_gzip_item_include mime
^application/x-javascript$
mod_gzip_item_include mime
^text/.*
mod_gzip_item_include mime
^httpd/unix-directory$
mod_gzip_item_include handler
^cgi-script$
mod_gzip_item_include handler
^server-status$
mod_gzip_item_include handler
^server-info$
mod_gzip_item_include handler ^application/x-httpd-php
mod_gzip_item_exclude mime
^image/.*
</IfModule>
# compress all text and html:
AddOutputFilterByType DEFLATE text/html
text/plain text/xml
# Gzip – To compress much of what leaves the server
AddOutputFilterByType
DEFLATE text/html text/plain text/xml text/css application/x-javascript
text/x-javascript text/php
# compress text, html, javascript, css, xml:
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
# Start site protection
# proc/self/environ? no way!
RewriteCond
%{QUERY_STRING} proc/self/environ [OR]
# Block out any script trying to set a
mosConfig value through the URL
RewriteCond %{QUERY_STRING}
mosConfig_[a-zA-Z_]{1,21}(=|%3D) [OR]
# Block out any script trying to
base64_encode crap to send via URL
RewriteCond %{QUERY_STRING}
base64_encode.*(.*) [OR]
# Block out any script that includes a
<script> tag in URL
RewriteCond %{QUERY_STRING}
(<|%3C).*script.*(>|%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})
# Send all blocked request to homepage with 403
Forbidden error!
RewriteRule ^(.*)$ index.php [F,L]
# End site
protection
# [URL="http://www.******.com"]www.******.com[/URL] to enable compression
and save bandwidth :: BEGIN
<ifModule mod_php5.c>
php_value
zlib.output_compression 16386
</ifModule>
# [URL="http://www.******.com"]www.******.com[/URL]
to enable compression and save bandwidth :: END
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault
A0
# Set up caching on media files for 1 year (forever?)
<FilesMatch
"\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav)$">
ExpiresDefault
A29030400
</FilesMatch>
# Set up caching on media files for 1 week
<FilesMatch
"\.(gif|jpg|jpeg|png|swf)$">
ExpiresDefault
A604800
</FilesMatch>
# Set up 2 Hour caching on commonly updated files
<FilesMatch
"\.(xml|txt|html|js|css)$">
ExpiresDefault
A7200
</FilesMatch>
# Force no caching for dynamic files
<FilesMatch
"\.(php|cgi|pl|htm)$">
ExpiresActive Off
</FilesMatch>