Albert,

Earnie is giving you good information. I'm just providing an alternative. I, personally know so little about mod_rewrite and the other stuff in the .htaccess file as well as httpd.conf file that I avoid doing things the way you have done them. I find the easiest way to move sites around is to have Drupal always installed at the domain root. In your case, create a subdomain like drupal6.example.com and create it at: public_html/drupal6/. (I use cpanel to create it on my server, but Plesk or the command line will do it as well.). With this set-up Drupal has no idea that all your files are in a subdirectoy of public_html. Drupal thinks they are at the root, and everything is cool.  Don't forget to point the subdomain to the host IP if nameserver is set somewhere else other than server where you are installing the subdomain. Also remember that if you have created the directory sites/example.com that you need to change its name to: sites/drupal6.example.com.

Earnie's advice about truncating cache and sessions table is good for this method as well (phpMyAdmin calls "truncate" -- "empty").

Re: absolute paths. Here and there there might be a module, or typically user pics that use absolute paths. I go into phpMyadmin and search on the old root domain and then replace the old root path with the new root path in the database. Also, whenever I'm creating links inside content to another page on the site I always use "root relative" (I think that is the term) paths and never "relative" paths. For example, I use <a href="/node/13"> and not <a href="node/13">. I find this solves a lot of problems.

Now that I have a VPS hosting account (for $45/month at http://modvps.com) and I can create as many accounts as I want, I don't even bother with installing a subdomain inside a directory of another account. I'll create a "real" account for the subdomain and put the Drupal install at public_html.

And as I began, there are many ways to handle this issue, I'm just sharing my personal experience and methods that seem to be pretty easy, for me at least.

Shai

On Tue, Apr 8, 2008 at 8:05 AM, Earnie Boyd <earnie@users.sourceforge.net> wrote:
Quoting Albert Cuesta <acuesta@gmail.com>:

> As part of a Drupal 5.x to 6.x upgrade, I have moved my Drupal site to
> a folder below the HTML root level of my server, so now it's at
> public_html/drupal6 instead of public_html as before.
>

Is there a reason why you can't update the httpd.conf for the site so
that the DocumentRoot is public_html/drupal6 instead of public_html?

> Now the site stopped working beyond the front page: users can login
> but cannot logout, all links display an unthemed front page, and so on
>
> Can somebody explain the required configuration of .htaccess (for the
> domain root and the drupal6 folder) and settings.php so the site works
> again? I think I have already tried everything in the handbook and
> readme :-(
>

Cache tables, sessions table probably need to be truncated.  Browser
caches may need to be emptied as well.  Did you change the RewriteBase
in the .htaccess file?

Earnie -- http://for-my-kids.com/
-- http://give-me-an-offer.com/

--
[ Drupal support list | http://lists.drupal.org/ ]