Moving modules and themes
The best practice is to keep all of your contributed modules and themes in the sites/all/modules or sites/all/themes directory, as appropriate. If you are upgrading from a previous version or have already installed them in the main modules or themes directories and you wish to move them, it is possible but you just need to make sure Drupal knows you moved them.
- Go to Administer > Site Building > Modules (or Themes) and disable the modules/themes you wish to move.
- Move the modules/themes to the new directory you wish them to live in.
- Now go back and enable the modules again. Drupal will locate them in the new directory and update the system table as needed.
The system table gets rebuilt when you visit: admin/build/modules. So if your module has moved and you've forgotten to disable it then just visit the modules page and you should be fine. Typically you'll see a PHP "Fatal error: Call to undefined function myfunction()" error when Drupal doesn't know where your module is.
This is not necessarily true as of Drupal 6.
Some contributed modules will NOT come back online because of paths stored in their settings and may cause various database errors. Always remember to make a complete backup first. In these cases, try uninstalling the module completely. Or just leave it where it was before you moved it. It's also possible to modify the database directly to change the path if necessary.
