There a number of reasons why the store will produce 404 error after server migration. Here are the possible solutions:
Note: This article is still in progress. More reasons and explanations will be added here.
Reason 1: Clean cache!
Reason 2: Check that admin store have ID = 0. If not , then the following query have to be executed + Reason 1.
SET FOREIGN_KEY_CHECKS=0; UPDATE `core_store` SET store_id = 0 WHERE code='admin'; UPDATE `core_store_group` SET group_id = 0 WHERE name='Default'; UPDATE `core_website` SET website_id = 0 WHERE code='admin'; UPDATE `customer_group` SET customer_group_id = 0 WHERE customer_group_code='NOT LOGGED IN'; SET FOREIGN_KEY_CHECKS=1;
TODO: Find out why «0» is hardcoded and maybe find a solution to fix it w/o changing IDs.