Thanks, but nope. I've been stymied by that mistake too many times to get stymied by it now (he says with fingers crossed while knocking on wood).
1. These settings (Options, etc) are all set in httpd.conf, so they aren't affected by the AllowOverride directive anyway
2. In any case, it's set to AllowOverride All in httpd.conf
I think the key clue that has to be that I can set the DirectoryIndex to index.php and it works, but I can't set it to index.html or index.htm. That's just beyond weird.
As I mentioned above, if I have
DirectoryIndex index.html, index.htm, index.php
in my httpd.conf file, and I have all three of those files in my directory, it's the index.php that gets served. Delete the index.php and I get a 403, same as if there's no index file.
Why in the world would it skip the first two choices and why in the world would it serve the index.php, but send a 403 for index.html and index.htm?
Some incorrect MIME type setting? It looks okay to me.
In httpd.conf
DefaultType text/plain
<IfModule mime_module>
TypesConfig conf/mime.types
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php
</IfModule>
In mime.types:
text/html html htm
I've grepped for "html" to see if there's some strange setting somewhere else, but don't find anything. furthermore, both of these files are essentially identical on the two machines (again, just the DocumentRoot and the corresponding <Directory> directives are different).
I just know this is something where the solution is one level up from "computer is not plugged in", but I'm not finding it.
Oh well. Locking that machine up for the weekend. I'm hoping the Apache elves will stop by this weekend.