ExpressionEngine CMS
Open, Free, Amazing

Thread

This is an archived forum and the content is probably no longer relevant, but is provided here for posterity.

The active forums are here.

Clearing up ’page you requested not found’ on subdomain EE upgrade or installation.

August 30, 2012 7:44pm

Subscribe [1]
  • #1 / Aug 30, 2012 7:44pm

    narration

    773 posts

    This question may be related to a resolved thread.

    I was inspired by Dan and Pascal’s dive into resolving the ip2nation problem, and decided to go after the other install issue that’s been present and on my mind since 2.3.1, rather than ask them to do it, at least at first. It’s that a subdomain site with an EE installation within it would refuse to upgrade (or initially install there), as it had used to for years with no problems. Some number of persons have experience this and posted when they did.

    The issue hasn’t anything to do with system-above-public_html files placement; that works fine if you use it, always. What doesn’t work post-2.3.1 is trying to run admin.php (or your renamed equivalent) from the subdomain’s html directory, in the expected way. You get the delightful ‘The page you requested was not found’ message. The previously suggested workarounds involved EE code patching, or moving your subsite temporarily to the top level (with before-and-after rearranging), to run the installer successfully.

    Long story short, a likely better answer is to enter the installation call in a slightly different way, and then in many if possibly not all cases it will work. I’ve put a detailed discussion as an added comment on the original bug report, which is here.

    The short answer is that for upgrades and installs, you actually want to bypass the magic which makes your subsite operate in its normal fashion. This takes no code, script, or positioning changes.

    For normal subsite operation, you would use URLs like sub.your-site.com, adding any further pathing. Thus also the call to post 2.3.1 installation, once the files are set up and if you didn’t rename admin.php, would be:

      sub.your-site.com/admin.php

    This fails, saying ‘the page’ can’t be found. ‘The page’, in this case, is the admin.php you named. CodeIgniter is trying to validate it, and is mis-pathed so that it can’t.

    The answer, at least for subsites arranged in the way I have usually run into them, positioned as subdirectories to the main html site, is to rearrange so you’re making the call directly from the top level:

      http://www.your-site.com/sub/admin.php

    Besides other tests, I’ve just proved this works on EngineHosting by making a full fresh 2.5.2 install within a subsite. It seems likely it will work on many other hosts, as their practice of subdomain/subsite directory positioning is a common arrangement.

    Hoping this is findable the next time someone has the problem, and that it helps.

    Somehow to resolve this problem returns the sense of EE being a precision piece of machinery, which we can adjust to suitably fit many needs. That’s what we want, and into the future, not so?

    Regards,
    Clive

  • #2 / Sep 04, 2012 11:14am

    Dan Decker

    7338 posts

    Hi Clive,

    Thanks for posting this!

    I’m going to move it off into Community Help for posterity.

    I’m glad Pascal and I were able to provide some insight!

    Cheers,

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases