I installed a new WordPress blog today on a server. The site is served by Apache using virtual hosting. I kept getting 404 errors trying to access any page that required mod_rewrite, pretty much other than the home page and administrative pages.
It turned out that I forgot the following in the Apache httpd.conf file:
... Options +FollowSymlinks AllowOverride FileInfo