What are htaccess files
Published: August 14, 2014
.htaccess files, also known as hypertext access, are configuration files run by directories, allowing decentralized management and control of a host company's web server. Many assume hypertext access is only associated with creating custom error pages or password protected directories, however there is much more to .htaccess than that. Hypertext access has many other benefits such as automatic gzipping, improving caching, creating more affective URLs and precluding hot linking.
To break it down, .htaccess files are just simple ASCII files. This file extension can be created on any text editor and uploaded to websites using ftp (File Transfer Protocol) client. To start, hypertext access makes configuration changes on a per-directory basis, so therefore, run by directives. Directives are typically short, one lined commands used to modify the web server's behaviour. The purpose of directives in hypertext access is the ability to execute multiple directives at a time without the access of Apache's global configuration file (httpd.conf.) Apache's global configuration file stores information on the various functions of a web server which can be edited by adding/removing a number sign. So, instead of giving direct access, .htaccess files allow partial access through directories / subdirectories, allowing various people to specify and access their own Apache directories. This method could be very helpful for hosting companies using shared hosting environments with their customers. Keep in mind that some editors use wordwrap, which could throw in unnecessary characters and damage the .htaccess coding; prevent this by disabling this feature on your editor.
Although most text editors save hypertext access files as .htaccess, the default file extension can change depending on specific editing programs. For instance, the program, Notepad, automatically saves hypertext access as .htaccess.txt. In this case, you must remove .txt in order to continue editing your .htaccess file.
Also, it is very important to remember that although anything that can be accomplished in .htaccess files can be done in httpd.conf files, it does not work the other way around. This is because .htaccess files must be enabled in the httpd.conf files in order to be carried out. Once the power is enabled, httpd.conf is also limited to certain contexts by the .htaccess files, so system hosts/administrators have more control over the access they give.
.htaccess files are extremely useful and have been known to improve web servers in many ways, however there are two things one should consider before implementing hypertext access. Although it may only be a subtle change for most, .htaccess files can slow down a server by the process of AllowOverride. This process scans the directory and any above it until reaching the highest directory. Because .htaccess files affect the pages in its directory, servers can becomes slower when a page loads and AllowOverride is enforced. Security is also influenced when implementing hypertext access because .htaccess files are much more accessible than standard Apache configurations. Allowing others to make alterations on your .htaccess files gives them much more control over the server itself, so these users can do anything they want within certain limitations.