Migrating sites to a different server
I have recently moved several website developed using qcodo to a different server. The moving was made using the account import function of CPanel which (as far as I understand) is similar to a restore from backup on the same server - everything should be exactly the same.
After moving the sites, the only page shown was the index, no matter what link you clicked. I've managed to make children of index show, but children of children no. The site uses some URL rewriting and the rendering engine breaks when it has to display a page that is two levels deep.
I am average with PHP, but not with QCodo. The developer who created the websites is no longer with us and I've been unable to find somebody else familiar with qcodo. I can't really figure it our if it's a qcodo problem or a server settings problem.
One other symptom (though easily fixed) was that right after the move, qcodo no longer found the connector for mysql5 and I had to switch it to mysql4 (the database connection, not the database itself).
I can provide access to the site's files and database, as this would be far more efficient than answering questions on the server settings&all.
I am also willing to pay someone for solving this - it's more a cry for help than an actual job offer and that is why I posted here instead of Jobs.
Thank you,
Dinu

Few ideas:
Can you look at the web server error.log and check if you see any kind of error when you access the site? Maybe URL rewriting is not enabled at all (Apache mod_rewrite module).
Is the folder structure at the new server exactly the same as on the old server? Take a look at these constants in the QCodo-file configuration.inc.php and verify they all point to the right directories.
__DOCROOT__
__VIRTUAL_DIRECTORY__
__SUBDIRECTORY__
Brynjar
The log doesn't have any errors, because i believe this behaviour is programmed. I suspect it is some sort of fall-back to the index in case there's an error and the requested page cannot be renderd.
Anyway, the configuration is ok, the directory variables are what they should be, as the site worls, except for this. For example:
the site is at www.ongfiiideltei.ro. ypu can access any of the pages in the main menu and you will get a new page. However, if you chosse to load one of the child pages (atelier and proiecte have children) you will get the index, although you are directed to the right URL.
Something is not working in the script the interprets the URL snd renders the right page. Since the guy who made this is passed away, I can't really ask him to fix this :(
So, if anybody would like to take a look, I send an archive of the website or give access to the server.
Thanks again,
Dinu
I can dedicate some time to help you.
The better path is the you can send me an archive of website, a backup of mysql database (please use phpMyadmin) and some info about what page (complete links) you expect when you link out from projecte page or atelier page.
also a ftp login to site is desiderable.
I'll test it in my local development environment (wamp5).
by, gianni
Try changing your url encoding to base64_encode.
Thank you both for the suggestions.
now I have the site works in my local WAMP installation with the same problems.
In my apache configuration your site is a virtual host.
If you are interested I can send the modification required to let site work in my local environment.
Gianni
If probelm can help other Qcodo fans I add here a copy of email I sent cmarza with
(I hope!!) solution to his migration problem.
<<
Found solution!
I took the responsibility to make online changes.
The problem is (as already by you identified) in PathInfo.
The array $PathInfo in Qcubed environment is created from the variable $_SERVER ['PATH_INFO'], which in your case does not exist as the provider on which you have ported the site, do not send it (security reasons? - bug ?).
After I removed comments in __index_engine.php I found that in this hosting site there is one $_SERVER variable that mimics it in all respects: $ _SERVER ['ORIG_PATH_INFO'].
Please don't ask me why!! Accept it as a fact!!!
I therefore did a change to the module that contains the function that creates
$PathInfo array
(Public_html\ qcubed\includes\qcodo\_core\framework\QApplicationBase.class.php) while retaining a copy after it renamed QApplicationBase.class_orig.php.
I then copied the originals __index_engine.php and __page_engine.php (I've renamed your ....__ index_engine_rudo_no.php and __page_engine_rudo_no.php)
The attemps you done in __index_engine.php confused the engine (and me).
With my patch on QApplicationBase.class.php no modifications are required in index or page engine.
original code
...
// Setup PathInfo and QueryString (if applicable)
QApplication::$PathInfo = null;
if(array_key_exists('PATH_INFO', $_SERVER)) {
QApplication::$PathInfo = urlencode(trim($_SERVER['PATH_INFO']));
QApplication::$PathInfo = str_ireplace('%2f', '/', QApplication::$PathInfo);
}
..
my suggested code
..
// Setup PathInfo and QueryString (if applicable)
QApplication::$PathInfo = null;
if(array_key_exists('PATH_INFO', $_SERVER)) {
QApplication::$PathInfo = urlencode(trim($_SERVER['PATH_INFO']));
QApplication::$PathInfo = str_ireplace('%2f', '/', QApplication::$PathInfo);
}
else {
if(array_key_exists('ORIG_PATH_INFO', $_SERVER)) {
QApplication::$PathInfo = urlencode(trim($_SERVER['ORIG_PATH_INFO']));
QApplication::$PathInfo = str_ireplace('%2f', '/', QApplication::$PathInfo);
}
}
....
hope this can help someone, Gianni
Thank you for the solution. I've managed to replicate this on other domains using the same back-end and it works just fine.
Dinu