I am trying to move a WordPress site to a new server. The domain name is also changing from “olddomain.com” to “newdomain.com.”
To this end, I moved all the files over to the new server and set up a virtual host in Apache. I then used a script (http://interconnectit.com/124/search-and-replace-for-wordpress-databases/) to replace instances of “olddomain.com” with “newdomain.com.”
The home page of my site is working when I visit it in a browser. However, none of my other pages such as “newdomain.com/about/” are working – they return 404s.
I checked my Apache error log and got the following log.
[client 69.184.72.91] File does not exist: /home/david/wordpressSiteFiles/about, referer: http://newdomain.com/
Why is Apache looking for a file called “about” on my server? Here is the .htaccess file I have now.
# BEGIN 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>
Do you have allowoverride set on the server?
http://codex.wordpress.org/Using_Permalinks
Source
http://wordpress.org/support/topic/wordpress-cant-find-my-new-pages
I had this same problem a few days ago and this fixed it!