.htaccess, Apache web sunucusu için yapılandırma ayarlarını içeren bir yapılandırma dosyasıdır. Genellikle web sunucusunun kök dizininde veya alt dizinlerinde bulunur.
.htaccess dosyası, aşağıdakiler gibi çeşitli amaçlar için kullanılabilir:
Projenin ana dizininde birt .htaccess dosyası olduğunda, gelen bütün istekler bu dosyada işlem gördükten sonra yönlendirilir. Web tarayıcı satırından hangi ifade girilirse girilsin, isteğe önce ana dizinde bulunan .htaccess dosyası işlem yapar ve akışı yine ana dizinde bulunan index.php dosyasına yönlendirir.
Projemizin ana dizininde bulunan .htaccess dosyası aşağıdadır:
# İçinde index.php veya index.html dosyası olmayan dizinlerin içeriğini listelemeyi engeller.
Options -Indexes
# RewriteEngine'i açma işlemi
RewriteEngine On
# İstenen dosya veya dizin yoksa veya istenen dosya veya dizin bir dizin değilse, RewriteRule komutunun çalışmasını sağlar.
# Aşağıdaki 2 satır RewriteRule komutu ile birlikte çalışır.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
# İstenen dosya veya dizin yoksa veya istenen dosya veya dizin bir dizin değilse, istenen URL'yi index.php dosyasına yönlendirir.
RewriteRule ^(.*)$ index.php/$1 [L]