#
# Hey! Everything in here is better suited to httpd.conf, since
# we get a performance boost if we can turn off AllowOverride and
# not have to stat the webroot for every request. On the other
# hand, this means we never have to touch apache once it's up.
# Flexibility over performance.
#
# In an ideal world, you'd stick it in here on dev and your build
# system would bundle the changes into (a file included in) httpd.conf
# for your production deployment, perhaps wrapped in a <VirtualHost>
# block.
#
# ETags are a bad idea if you have multiple web servers. We'll do
# more explicit caching with Expires headers anyway.
FileETag none
# The base set of sensible PHP options. You could put these in your
# php.ini file too, but having them in your Apache config puts
# everything in one place. Magic quotes off because they are stupid.
# Register globals off for the same reason. Track errors is so that
# we can at least get at the error messages we hide using @func().
# last_modified is a bad idea if we have any dynamic content. Short
# tags make for a few saved bytes of cruft and are fine unless you're
# running another XML preprocessor over your code (wtf?).
php_value magic_quotes_gpc 0
php_value register_globals 0
php_value magic_quotes_runtime 0
php_value track_errors 1
php_value last_modified off
php_value short_open_tag on
# This value is very useful for development, but should be disabled
# on production deployments (by setting the value to 'off')
php_flag display_errors on
# this sets all current and future error flags on, except for E_NOTICE
# which can go fuck itself. we have some separate code for checking the
# one notice we do care about.
php_value error_reporting 2147483639
# Some basic pointers to php files
DirectoryIndex index.php
ErrorDocument 404 /404.php
ErrorDocument 403 /403.php
# Get mod_rewrite fired up
RewriteEngine on
# Login stuff
RewriteRule ^signup$ signup.php [L]
RewriteRule ^signin$ signin.php [L]
RewriteRule ^signout$ signout.php [L]
RewriteRule ^checkcookie$ checkcookie.php [L]
# Password retrieval stuff
RewriteRule ^forgot$ forgot.php [L]
RewriteRule ^reset/([a-zA-Z0-9]+)$ reset.php?reset=$1 [L,QSA]
# Account stuff
RewriteRule ^account$ account.php [L]
RewriteRule ^account/password$ account_password.php [L]
RewriteRule ^account/delete$ account_delete.php [L]
# General pages
RewriteRule ^about$ about.php [L,QSA]
RewriteRule ^contact$ contact.php [L,QSA]
# Images
RewriteRule ^image/([0-9]+)/?$ image.php?id=$1&%{QUERY_STRING} [L]
# Test pages
RewriteRule ^paging$ paging.php [L]
RewriteRule ^paging/page(d+)$ paging.php?page=$1 [L,QSA]