.htaccess is ignored even though VirtualHost has "AllowOverride All"
Solution 1:
Unbelievable. Remember how I said this is a development server? Yeah.. well here's what my virtual host entry REALLY looks like:
<VirtualHost *>
ServerName dev.ourwebsite.com
DocumentRoot /var/www/html/dev.ourwebsite.com/docroot
<Directory "/var/www/html/ourwebsite.com/docroot">
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Do you see it? Well I didn't. I FORGOT To change my "Directory" entry to dev.ourwebsite.com instead of ourwebsite.com -- and that made all the difference. I just assumed that Apache would have thrown an error if the directory didn't exist; but that only applies to the DocumentRoot directive. is match-based -- meaning it applies the rules if it matches the incoming request, but otherwise, it doesn't care if you tell it to AllowOverride on magic unicorns.
Let this be a lesson to any others who come looking -- when all else fails, consider the almighty Typo.
Solution 2:
Check out if any other "AllowOverride None" presented in 'httpd.conf' above the virtualhosts declaration. Probably, you have "AllowOverride None" in docroot.