Magento – New website/store view, all pages 404 (including homepage)

ee-1.12http-error-404magento-1nginxstore-view

As per the title, I've set up a new store on a different domain and all pages including the home page are returning 404.

I've tried pretty much everything, and I'm wondering if any of you can think of a good way to debug this.

I've tried:

  • Clearing Mage cache, reindexing
  • Clearing APC cache
  • Reloading nginx
  • Creating a new CMS page at a certain URL to see if that will load
  • Disabling web server rewrites
  • Checking store config against other stores that do work (default cms page etc)
  • Trying default URLs (e.g. /customer/account)
  • Changing the Nginx configuration a few times based on various examples (and also based on the other working Nginx configuration files that are in use)

The site is loading the correct theme, but not finding any content for some reason – it just gives me a 404 page no matter what URL is given.

At this stage, I'm not sure if it is a server config issue or a Magento config issue.

A version is EE 1.12.

Current Nginx conf file is as follows (removed any sensitive variables):

server {
    listen 000.00.000.000:80;
    listen 000.00.000.000:443 ssl;
    server_name subdomain.site.com;
    root /var/www/vhosts/companyname/staging;

#   SSL Configuration redacted

    location / {
        index index.html index.php;
        try_files $uri $uri/ @handler;
#        try_files $uri $uri/ /index.php?q=$uri&$args;
#        expires 30d;
    }
    location @handler {
#        rewrite / /index.php?req=$uri;
        rewrite / /index.php;
    }

    location ~ \.php/ {
        rewrite ^(.*\.php)/ $1 last;
    }

    location ~ \.php$ {
        if (!-e $request_filename) { rewrite / /index.php last; }

#        expires        off;
#        fastcgi_pass   stagebackend;
#        fastcgi_param  HTTPS $fastcgi_https;
#        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
#        include        fastcgi_params;

#copied config below

        expires        off;
        fastcgi_pass   stagebackend;
        fastcgi_param  HTTPS $fastcgi_https;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  MAGE_RUN_CODE site_en;
        fastcgi_param  MAGE_RUN_TYPE website;
        include        fastcgi_params;

#end copied config

    }

}

Relevant settings for the view are (the cms page defined here does exist and is enabled for the storefront):

SEO:

  • Web server rewrites: No

Default Pages:

  • URL: cms
  • CMS Home Page: Home Page
  • Default No-Route URL: cms/index/noRoute

Any ideas would be much appreciated!

Best Answer

  1. Make sure the default store view of your default store of your default website is not disabled.
  2. Flush your cache's
  3. Reindex Data
  4. Set Main website as default and then set back your website as default.

If this is not helping you need to debug the issue since it may either be your .htaccess issue or issue from index.php Open the index.php in root directory of the Magento installation and comment the line

Mage::run($mageRunCode, $mageRunType);

(you will find this line near the end)

Run your website if you still find a 404 page not found error it's a .htaccess issue, try renaming the same