.htaccess: .htaaccess, or hypertext access, is a directory-level configuration file. Originally, .hta access was used to allow per-directory access control, often requiring password authorization checks to access content. Now, the purpose has expanded to allow users with the right password to override configurations like character set and content type.
.htaccess is often used to increase security restrictions within a directory, and .htpasswd files can be used to store valid passwords and usernames. It can also block or allow users based on their domain or IP address. Bots or search engine spiders can also be blocked using .htaccess.
Servers may also use .htaccess to rewrite long URLs into shorter, pore practical ones, or create customized error responses for issues like HTTP 404 Not Found or HTTP 301 Moved Permanently. It can also control how servers will react if users don't request a specific web page.
.htaccess also tells the server how to treat different file types and allows a server to control web browser caching.
The advantages of .htaccess is that changes made in files take immediate effect rather than requiring a server restart. It's also advantageous if users need the ability to alter their site configuration in a way that doesn't change the main server.
Disadvantages include possible performance loss from lack of file system access, and improper setup may allow individuals to modify the server's configuration, which can lead to security concerns.