I am having exactly the same problem on only ONE of my many client sites all on the same host (Dreamhost)and have just spent 2 days trying to fix this to no avail. Weirdly, a few of the links in the menu do work for some reason, even though they are all written the same way :
/pagename
I first discovered this when wp_list_categories didn’t work properly; the URL looked like : http://domainname.com/category/post-name but the page content was defaulting to the page.php (because I removed archive and category).
I have Permalinks set to Day/Name (same as all my other sites)
Site resides in subdirectory with General options like this :
WORDPRESS URL : http://domainname.com/subdirectory
BLOG ADDRESS : http://domainname.com
The original .htaccess setup was as follows :
.htaccess file domainname.com
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
index.php in domainname.com :
<?php
/* When WordPress files are in subdirectory of domain */
define(‘WP_USE_THEMES’, true);
require(‘./subdirectory/wp-blog-header.php’);
?>
In domainname.com/subdirectory :
.htaccess file :
NONE
index.php :
<?php
/* Short and sweet */
define(‘WP_USE_THEMES’, true);
require(‘./wp-blog-header.php’);
?>
I have never been able to confirm if there should or shouldn’t be multiple .htaccess files but after updating to 2.5.1, updating Permalinks created a new .htaccess inside the subdirectory even though there was one in the domain root.
Help, help, help! I have tried the Jacquith plugin (disable canonical URL, http://markjaquith.com/) and nothing. I have tried default Permalink structure and index.php?page_id=3 links and no go. I tried changing default (blank) Category base and nothing. I tried other Permalink structures and verified .htaccess. Nada. There are no extra tables in the DB. I have few plugins and they all seem to function here and on my other sites.
Ideas?