Multisite is a great feature plagued with a brain fead file handling scheme.

If persistent storage of site-specific modules and themes and settings goes in subfolders of sites/sitename, why not files? Why does Drupal insist on storing files in files off the root regardless of multisite use? That makes it very difficult to port sites to different servers, and it opens up the possibility of one site overwriting another site's files.

Sure, you can change this behavior through admin/settings/file-system, but that is a workaround to fix what should have been a default behavior, and it results in an ugly path.

How it should work:

  • By default, files go to sites/sitename/files.
  • Files are referenced through http://sitename/files/.

Comments

JirkaRybka’s picture

Status: Active » Closed (duplicate)

- You can put your files anywhere you want, admin/settings/file-system is not a workaround IMO, it's simply configuration.

- As said elsewhere, if putting files under sites/sitename, all your file links will break if moving the site to other domain (or to localhost for testing), and you might also end up with unnecessarily long and ugly links if running single site (which is most common).

- Also said elsewhere - there's a lot of resistance against putting files into any directory included in the Drupal tarball, because *some* people don't read manuals, don't take elementary safety precautions, and overwrite their files on update then (I don't think this is too good point, though)

- If you have .htaccess magic in mind - that shouldn't be default. For example, my hosting provider doesn't allow URL rewriting at all...

http://drupal.org/node/98824 and http://drupal.org/node/166169 already discuss this (http://drupal.org/node/191310 also a little bit), so setting Duplicate.

kbahey’s picture

Issue #195033 advocates that 'files' be moved to 'sites/default/files' too.