I most commonly see the issue that you are describing when there is something wrong with the site definitions - the
<site name="website"...> nodes - in the Sitecore configuration.This happens because Sitecore is not resolving the sites correctly. The reason why the pages work in Preview is because Sitecore resolves the item via its ID, which is directly passed in the Query String when in Preview mode.
The first thing that I would do is try to navigate to the your Sitecore item directly in the browser, while in normal browsing mode. You do this as follows:
- Log into Sitecore and navigate to your home item in the Content Editor
- Copy the item path of your home item from the "Quick Info" section
Open up a new browser tab and navigate to
http://xyz.com/<sitecore_path_here>. This should look something like
http://xyz.com/sitecore/content/mysite/home. Note that you can use any host for the site that is configured in IIS to point at your application. By using the Sitecore path to request your item, you are bypassing all site-resolving logic in Sitecore, so the host you use shouldn't matter so long as it points at the right application.
UPDATE: Based on your comments, the path to your home node is
/sitecore/contet/MasterSG/Home so you should be doing this test by navigating to
- If your page loads, then you have confirmed that your issue is occurring when Sitecore tries to resolve your sites
If your page loads after running the above test, update your post with your site definitions configuration and we can troubleshoot further.