Magento Files and Folders Structure
This part of the Magento tutorial will provide detailed information regarding the Magento's default files and folders structure.
You will learn more about the functions of main files and folders included in the Magento package.
The files and folders included in the main directory are as follows:
• .htaccess - contains mod_rewrite rules, which are essential for the Search Engine Friendly URLs. There you can also find standard web server and php directives that can improve your web site performance.
• .htaccess.sample - this is a backup of the .htaccess file. If you modify .htaccess it can be used in order to get the default settings.
• 404 (directory) - The folder stores the default 404 template and skin for Magento.
• app (directory) - This folder contains the modules, themes, configuration and translation files. Also there are the template files for the default administrationtheme and the installation.
• cron.php - a Cron Job should be set for this file. Executing of the file on a defined time period will ensure that the complicated Magento caching system will not affect the web site performance.
• downloader (directory) - This is the storage of the web downloader files. They are used for the installation and upgrade of Magento through your browser.
• favicon.ico - the default favicon for Magento. A small icon that is shown in the browser's tool bar once your web site is loaded.
• index.php - the main index file for Magento.
• index.php.sample - A backup of the default index file. It can be used to revert the changes in a case of a index.php modification.
• lib (directory) - The Magento core code is located in this folder. It contains the software's PHP libraries.
• LICENSE_AFL.txt - The Academic Free License under which the Magento software is distributed.
• LICENSE.txt - The Open Software License under which the Magento software is distributed.
• media (directory) - This is the storage of the Magento media files - images out of the box, generated thumbnails, uploaded products images. It is also used as a container for importing images through the mass import/export tools.
• mage (in versions older than 126.96.36.199 this tool was called pear)- The file controls the automatic update through the downloader script and SSH. It handles the update of each individual Magento module.
• php.ini.sample - This file contains sample php directives that can be used in order to modify your PHP setup. If you want to alter the default setup edit the file and then rename it to php.ini.
• pkginfo (directory) - Contains files with information regarding the modules upgrades' changes.
• report (directory) - This folder contains the skin of the Magento errors reports.
• var (directory) - Cache, sessions, database backups, data exports and cached error reports can be found in this directory.
If you want to modify an existing template or set a new one you should know that the template files are separated in 3 folders:
• /app/design/frontend/default/YOUR_TEMPLATE_NAME/layout/ - Contains the .xml files that define which modules should be called by the template files and loaded in defined areas on the site.
• /app/design/frontend/default/YOUR_TEMPLATE_NAME/template/ - Contains files and subfolders that structure the final output for the users using the functions located in the layout/ folder.