Apache2 RewriteRule not working

The default configured apache virtualhost on debian (and I'm assuming Ubuntu) does not read .htaccess files. To Turn it on, open up the default config file (/etc/apache2/sites-available/default), look for something similar to:

<Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
</Directory>

Change the line "AllowOverride None" to "AllowOverride All". Reload or restart apache (/etc/init.d/apache reload). AllowOverride restricts the directives that can be placed in an .htaccess file, when it is set to None, apache never parses the file.