
Programs in Linux, such as Apache (the server daemon) and qmail (the mail daemon) are configured using basic text files instead of the centralized-database (registry) used in Windows. This provides advantages in that the configuration for any domain can be distributed among many files.
Apache's configuration by Plesk is split into four parts:
The first three types are managed by us and Plesk and therefore are difficult to update and change settings for specific area of a website. By using .htaccess you can work with Apache and change some of the settings by yourself.
Most of the time you probably won't need to use a .htaccess file. The default settings for a domain are more than enough to run a website, and some of the more advanced settings, such as switching on and off PHP, Python, etc. or the Custom Error Documents option can all be controlled by Plesk.
However, there are times and people that will need to use them in order to change advanced settings not supported by Plesk. For example, (at the time of writing) all stable versions of osCommerce still require the register_globals setting enabled within PHP. This is generally unsafe and not recommended (click here for more information about the setting).
Normally, the only way to enable the setting it to change the php.ini file, which configures PHP for the whole server. But, using features of the PHP module in Apache, you can write a command into a .htaccess file which enables the setting for either the whole domain (if put into the Document Root) or just the directory that holds osCommerce.
You can't do everything with it. There are a number of options and settings in Apache that can only be managed either with just the httpd.conf file, or both httpd.conf and the httpd.include files. But, you can control things like access rights, type definistions and PHP settings.