root
+-+ include
+-- cache
+-- script
+-- css
+-- images
Этот каталог, конечно, не доступен извне.
Почему все включено? Потому что ни один из этих медиа-файлов не обслуживается напрямую. Все они проходят через сценарий, который:
- Сжатие всех файлов CSS в один файл;
- Сжимает весь Javascript в один уменьшенный файл;
- Записывает эти версии в каталог кэша;
- метки времени css, js и файлы изображений и устанавливает заголовок expires в далеком будущем;
- Сохраняет кэшированные копии сжатых файлов js и css в каталоге кэша; и
- Все ссылки на эти файлы проходят через функцию автоматической версии, которая использует время последнего изменения, чтобы изменить URL-адрес, чтобы контролировать, когда клиент получает новую копию (например, /css/screen.1234567890.css), аналогично тому, что делает SO со строкой запроса для таких файлов.
Вышеуказанное может значительно ускорить работу сайта.
Остальная часть структуры каталогов будет отражать структуру меню сайта. Если есть пункты меню верхнего уровня «Заказы» с подменю, то можно поспорить, что вы найдете каталог учетных записей в корневом каталоге.
Все это делает сайт очень и очень предсказуемым, если кому-то еще нужно прийти и поддерживать его. Чрезвычайно важно, чтобы кто-то еще мог найти дорогу.