RewriteEngine on
FileETag none
<IfModule mod_deflate.c>
# Insert filter
SetOutputFilter DEFLATE
# Netscape 4.x has some problems...
BrowserMatch ^Mozilla/4 gzip-only-text/html
# Netscape 4.06-4.08 have some more problems
BrowserMatch ^Mozilla/4\.0[678] no-gzip
# MSIE masquerades as Netscape, but it is fine
# BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
# NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
# the above regex won't work. You can use the following
# workaround to get the desired effect:
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
# Don't compress images
SetEnvIfNoCase Request_URI \
\.(?:gif|jpe?g|png)$ no-gzip dont-vary
# Make sure proxies don't deliver the wrong content
# Header append Vary User-Agent env=!dont-vary
</ifModule>
###################################################
# Remove the leading www if one exists
###################################################
RewriteCond %{HTTP_HOST} ^www\.(.*)
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
###################################################
# Don't let people see config and cache files
#
# Shouldn't be blocking the root config or cache directories, since these
# should be able to be used as "annoying" keywords, but using them with the
# current set of rewrites sends mod_rewrite into a nosedive of unending
# proportions. It's something to do with the final rewrite in the file.
# So, for now, we simply don't allow people to see if I'm annoyed by "config",
# "cache", or "externals".
###################################################
RewriteRule ^\. - [F,L]
RewriteRule ^config(/.*)?$ - [F,L]
RewriteRule ^cache(/.*)?$ - [F,L]
RewriteRule ^externals$ - [F,L]
###################################################
# Do not process images etc further
###################################################
RewriteRule \.(css|jpe?g|gif|png|php|txt|ico|html|xml)$ - [L]
###################################################
# Remove slashes off the end of URLs
###################################################
RewriteRule ^(.+)/$ /$1 [R=301,L]
RewriteRule ^process$ /process.php [L]
RewriteRule ^([^/]+)$ /controller.php?hate=$1 [L]