I’m having the very same problem and editing the .htaccess file is not working at all. WordPress did not create one automatically. My WordPress files are in /blog but the index.php is in the root directory. This is noted in the blog URI settings.
Here’s what I did so far:
1) uploaded a new .htaccess file (saved as plain text, uploaded and changed the name on the server) to /blog. I also tried editing this directly via cPanel File Manager – not working.
2) set the permissions to 644 (also tried 666 & 755)
3) Tried two versions of the requested content to the .htaccess based on info I found while Googling:
Version 1 (as requested by WordPress)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Version 2 (found via Google)
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /blog/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
Neither of these is working. My page links and post links are all broken. I’ve never had this trouble with WordPress before. What am I doing wrong?