I finally fixed my Clean URLs problem, and would like to thank those of you who tried so valiantly to help (especially pulsifer), as per this thread:
http://drupal.org/node/54231
Alas, I ended up mucking my way through it as I often do. Here's how it worked out for me. No guarantees that it'll work the same for you, but hopefully you can glean something that will trigger that "aha!" moment for you:
My first issue was whether "AllowOverride" was set to "none" or "all". Since I run my own LAMP server (based on Ubuntu Linux), I had already gone through and diligently changed practically every "AllowOverride" I could find to "all" in my apache2.conf file and 000-default file (I think that one's only found in Ubuntu). But it still wasn't working. I read up just a bit on "AllowOverride" and noticed they have options for things like Indexes, Authconfig, Limits, etc. I went back to check my "AllowOverrides" again and found a second "AllowOverride" just below it! Like this:
<directory /var/www/sharedip>
Options +Includes -Indexes
AllowOverride all
AllowOverride Indexes AuthConfig Limit FileInfo <this is the line I ended up commenting out to make it work
Order allow,deny
Allow from all
<files ~ "^\.ht">
Deny from all
</files>
</directory>
I can't believe that I missed that, but it's because I had gotten used to seeing "AllowOverride All/None", not with a bunch of other options. I have no idea why that second one was there. I also run ISPConfig, so maybe that has something to do with it. I simply commented out the second "AllowOverride" and saved the file. That was the first of what turned out to be three fixes I had to do before I could enjoy clean URLs.