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.

URL segment broken/go nowhere after EE migration

August 06, 2009 1:46am

Subscribe [2]
  • #1 / Aug 06, 2009 1:46am

    iDVB

    56 posts

    I’ve just “successfully” migrated my EE implementation and made sure all the control panel path changes have been made.

    BUT! when I browse to the site (which comes up perfect) and click on any links…the segments appear in the URL just fine BUT the site does not go anywhere. It’s like all I can get to work is the homepage.

    I’m not sure if this has anything to do with it but I don’t have the “actual” domain DNS forwarded to the server yet. I’m currently testing it all out by placing an entry in my LOCAL /etc/hosts to point mydomain.com to my new server.

    Any ideas?

  • #2 / Aug 06, 2009 2:02am

    John Henry Donovan

    12339 posts

    iDVB,

    Please review the following KB article

    EE KB : Main page content appears on every page

    Can you share a link to the website?

  • #3 / Aug 06, 2009 11:37pm

    iDVB

    56 posts

    Thanks for the quick reply John.
    Any ideas on how to enable this on an apache server if I have root access?

    I have truely tried everything I can think of:

    <Directory /var/www/shared/ee>
       <Files index.php>
         AcceptPathInfo On
         SetOutputFilter PHP
         SetInputFilter PHP
       </Files>
    </Directory>
    <Directory /var/www/shared/ee>
         AcceptPathInfo On
    </Directory>
    <Directory /var/www>
         AcceptPathInfo On
    </Directory>

    No dice…

  • #4 / Aug 07, 2009 12:07am

    iDVB

    56 posts

    Yup…just tried about 10 more things…getting close to hair pulling out mode. 😛

  • #5 / Aug 07, 2009 12:32am

    Lisa Wess

    20502 posts

    Hi, iDVB - we can’t offer support for server level setup; the KB has the information about what is needed, but you should work with your server administrator to get it enabled.

    Thanks!

  • #6 / Aug 07, 2009 12:41am

    iDVB

    56 posts

    Sadly…I AM my server admin. 😛 Like I said, I have root access. It’s a dedicated server.
    I was hoping to get at bit more detailed help similar to want I’m seem in other threads here.

    I’m sure its just something small that I’m missing out on here.

  • #7 / Aug 07, 2009 1:19am

    Lisa Wess

    20502 posts

    I can move this up to How to for community support if you’d like, but we can’t offer official support for server administration.

  • #8 / Aug 09, 2009 2:22am

    iDVB

    56 posts

    I can move this up to How to for community support if you’d like, but we can’t offer official support for server administration.

    Hey Lisa,
    Thanks for chiming in here. However, I think I disagree with you on that this is not something you should support. I mean, ensuring that a customer can get your product up and running, I think, is under you’re umbrella. Especially, if the customer is not placing your product under any unusual situations. I’m simply trying to get it working on the server that conforms to all the standard requirements its just that EE needs non standard Apache declarations in order to work correctly. I’d simply appreciate some aid in get those set correctly so I can use your product that I paid for.

    D

  • #9 / Aug 09, 2009 3:33am

    iDVB

    56 posts

    Here is a bit more info for anyone who can lend a hand:

    I’ve ran phpinfo() to find that the “Server API” is “Apache 2.0 Handler” which I believe means its running the module and not the CGI which I also believe means I “should” be able to get path_info to work as per normal by setting “AcceptPathInfo”.

    I think I have done this correctly but its not working…

    Here is my “/etc/apache2/apache2.conf” (only changes to domains to mask the real ones)

    below…

  • #10 / Aug 09, 2009 3:34am

    iDVB

    56 posts

    Actually, pasting it in here is not working….

    here it is…attached


    - EDIT -


    Site in question: http://amvbglass.com

    I’ve confirmed the following about my install:
    - Dedicated Ubuntu 8 LTS Server (I’m the root admin)
    - Apache 2 / PHP5
    - PHP running as a module (Server API =“Apache 2.0 Handler” in phpinfo)
    - PHP runs phpinfo() command fine so PHP seems to be working fine
    - Proper File/Dir permissions have been set based on EE user guide
    - “AcceptPathInfo” is ON (I think, please see my attached conf file)


    I’ve tried running the following script and it returns a blank page. Indeed, path_info seems to not exist.

    <?php 
    
    echo $_SERVER[‘SCRIPT_NAME’];
    echo $_SERVER['PATH_INFO'];
    echo $_SERVER['ORIG_PATH_INFO'];
    
    ?>
  • #11 / Aug 09, 2009 3:03pm

    Greg Aker

    6022 posts

    You seem to have “smart quotes” around the ‘SCRIPT_NAME’ variable, which could be the reason for the blank page.

    Let’s make sure you have cleared the cache in the CP, also go to /system/cache and verify permissions are set correctly and there is nothing in that folder other than the index.html file.

    ETA:  What is the qstr set to in your index.php file. 

    -greg

  • #12 / Aug 09, 2009 3:06pm

    Lisa Wess

    20502 posts

    Hi, iDVB - Well the fix, as far as ExpressionEngine is concerned, is to enable forced query strings which would likely get your segments seen.  But getting path_info working on your server is the part that we can not assist with.

  • #13 / Aug 10, 2009 1:31am

    iDVB

    56 posts

    You seem to have “smart quotes” around the ‘SCRIPT_NAME’ variable, which could be the reason for the blank page.

    Let’s make sure you have cleared the cache in the CP, also go to /system/cache and verify permissions are set correctly and there is nothing in that folder other than the index.html file.

    ETA:  What is the qstr set to in your index.php file. 

    -greg

    GREG! You are the man. Thank you SO MUCH for helping, I really have nowhere else to turn here. EE is saying ask your host and my host is saying since its a root server I need to deal with it. :( Also…I think I may have found something out…

    Here’s an update of what I have tried/verified before I get to the “find”:
    - Permissions on /system/cache are 777 and it contains only the index.html file (cleared)
    - I’ve corrected the quotes as you mentioned with no change
    - I’ve tried setting the “cgi.fix_pathinfo” var in php.ini to both 1 and 0 with no affect.
    - my index.php is attached
    - my php.ini is attached

    Regarding “qstr” that you mentioned. I’m not sure its set to anything…the only reference to “qstr” in the index.php file is on line 95

    unset($qstr);

    However, if you meant to say “qtype”, it “was” set to 0 (auto). I’ve tried forcing it to 1 (path_info) with no effect.

    My Find:
    Now I don’t really understand what path_info is but i think its working. It’s just that in my test php page…

    <?php 
    
    $path_info = (isset($_SERVER['PATH_INFO'])) ? $_SERVER['PATH_INFO'] : @getenv('PATH_INFO'); 
    $query_str = (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : @getenv('QUERY_STRING');
    echo $path_info;
    echo "
    ";
    echo $query_str;
    
    ?>

    ...I hadn’t been browsing to it and adding segments or qstrings to the URL…hence it was returning a blank page. However once I used “http://radicalblend.ca/test.php/test/test/?cool=stuff” as the URL this is what that test page wrote:

    /test/test/
    cool=stuff

    Suceess! So, I would presume that path_info is actually working, however if it is, then what is causing EE to not go anywhere when links are clicked?

  • #14 / Aug 10, 2009 1:45am

    John Henry Donovan

    12339 posts

    iDVB,

    Well the fix, as far as ExpressionEngine is concerned, is to enable forced query strings which would likely get your segments seen.

    Did you try turning on Force URL query strings?

    Admin ›  System Preferences ›  Output and Debugging Preferences

  • #15 / Aug 10, 2009 1:55am

    iDVB

    56 posts

    BINGO!

    The issue was that I needed to swap the comments in the EE index.php file from the “ORIG_PATH_INFO” to the “PATH_INFO” line:

    $path_info = (isset($_SERVER['PATH_INFO'])) ? $_SERVER['PATH_INFO'] : @getenv('PATH_INFO');
    //$path_info = (isset($_SERVER['ORIG_PATH_INFO'])) ? $_SERVER['ORIG_PATH_INFO'] : @getenv('ORIG_PATH_INFO'); 
    $query_str = (isset($_SERVER['QUERY_STRING'])) ? $_SERVER['QUERY_STRING'] : @getenv('QUERY_STRING');

    Also, I HAD tried this before with no effect…BUT…I forgot that this implementation is also an EE multi-site so I had to change the /ee/sub_site/index.php entry as well.

    Once I did that…bingo…it worked. Well ALMOST…now I have an issue where my whole site and links/urls seem to work but all the dynamic sized images are not showing.

    Have a peak… 
    http://www.amvbglass.com


    Note to EE Admins:
    You may want to take note of this issue…I’m sure I’m not going to be the last person that encounters this frustrating issue.

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

ExpressionEngine News!

#eecms, #events, #releases