.htaccess dosyası sitedeki spesifik bir dizinin sunucu ayarlarını yapmaya izin verir. Bu ayarların yapılacağı yol, ana kök dizin olabileceği gibi /gorseller ya da /wp-admin gibi dizinler de olabilir.
.htaccess (hypertext access) dosyaları pratikte; yönlendirme (redirect), https ayarları, arama motoru botlarının taramalarını ve diğer bazı SEO fonksiyonlarının yönetilmesini sağlar.
Nerede Bulunur?
.httaccess dosyası sitenin barındığı sunucuda yer alır. Hatta genellikle ana kök dizinde, örneğin public_html klasörü içerisinde bulunur.
Burada barınan .htaccess dosyası tüm web server’ı yönetmeyi sağlar. .htaccess dosyası nadiren de olsa alt klasörlerde yer alabilir.
cPanel’de .htaccess nerededir?
Eğer cPanel kullanıyor ve .htaccess sunucunuzda görünmüyorsa aşağıdaki yolla bulabilirsiniz:
- cPanel’e giriş yapın.
- Dosya Yöneticisi simgesine tıklayın.
- “Gizli Dosyaları Göster” seçeneğini işaretleyin.
- Doküman dizinine çift tıklayın.
- .htaccess dosyasını public_html klasörü altında bulacaksınız.
Eğer dosyanız burada değilse, büyük ihtimalle sunucunuzda .htaccess dosyası barındırmıyor olabilirsiniz.
.htaccess Dosyasının SEO İçin Önemi
Sunucuda barındırılan dosyaların doğru bir şekilde yapılandırılması SEO performansını doğrudan etkiler.
Çünkü, arama motorlarının örümcekleri hem sitenin teknik alt yapısını daha iyi analiz edebilecek hem de sitenin ana fonksiyonlarını daha iyi kavrayabilecektir.
Örneğin; doğru yapılandırılmış bir .htaccess dosyası ile, daha temiz bir url yapısına sahip olabilir, bulunamayan sayfalar için doğru 404 kurgusu yapabilir, 301 redirect işlemlerini sağlıklı bir şekilde gerçekleştirebilir ya da web sitenizin cache (önbellek) işlemlerini yönetebilirsiniz.
Web sitesi sahiplerinin ya da SEO uzmanlarının kullanabileceği onlarca farklı .htaccess kod bloğu bulunuyor.
.htaccess Dosyası Oluşturma
Dosyayı oluşturmak için sadece bir metin editörü yeterlidir. Örneğin, Notepad, Microsoft Word, Atom ya da Notepad++ kullanılabilir.
Editörde açtığınız dosyanın içerisine gerekli kodları yazdıktan sonra dosyayı “.htaccess” ismiyle kaydedip sunucuya yüklemelisiniz.
FTP, cPanel ya da Plesk aracılığıyla sunucuya yüklediğiniz bu metin dosyası artık sitenin tamamının yönetildiği .htaccess dosyasıdır.
.htaccess dosyası gizli bir dosya olması nedeniyle tarayıcılar üzerinden doğrudan web sunucusuna erişilerek görüntülenemez.
Ayrıca her web sitesinin yalnızca bir adet .htaccess dosyası olması gereklidir. Birden fazla oluşturmaya çalışmayın.
Htaccess Kodu Örnekleri
.html Uzantısını Kaldırma
İnternet kullanıcıları .html, .php ya da .asp gibi uzantılardan hoşlanmıyor. Bunlar .htaccess dosyası içerisine ekleyeceğiniz birkaç satırlık kod bloğu ile kaldırılabilir.
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
Rewrite Rule ^(.*)$ $1.html
301 Yönlendirmesi ile Siteyi www Versiyonuna Yönlendirmek.
Eğer sitenizin www. ile birlikte görüntülenmesini istiyorsanız aşağıdaki bloğu kullanabilirsiniz.
Böylece site www. olmadan açılmayacak ve 301 yönlendirmesi ile tercih edilen haline gidecektir.
RewriteCond %{HTTP_Host} ^site.com$ [NC]
RewriteCond ^(.*)$ http://www.site.com/$1[R+301,L]
RewriteCond %{THE_REQUEST} ^.*/index
Rewriter ^(.*)index$ http://www.site.com/$1 [R=301, L]
Hata Sayfaları
Ziyaretçiler sitenizde 400 ya da 500 hata yanıt kodu aldıklarında spesifik bir sayfaya yönlendirilsin istiyorsanız aşağıdaki gibi bir kod bloğu kullabilirsiniz:
ErrorDocument 400 /400.html
ErrorDocument 404 /404.html
ErrorDocument 500 /500.html
ErrorDocument 502 /502.html
URL’den www. Kısmını Kaldırma
Eğer sitenizin www. olmadan çıplak şekilde açılmasını istiyorsanız aşağıdaki kod bloğunu .htaccess dosyanıza ekleyebilirsiniz.
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.yourdomain.com [NC]
RewriteRule ^(.*)$ http://yourdomain.com/$1 [L,R=301]
301 Geçici Yönlendirmesi
Redirect 301 /eski-yol/eski-sayfa.html https://www.siteadi.com/yeni/yeni-sayfa.html
HTTPS Kullanmaya Zorlama
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
Dosya ve Dizinlere Erişimi Engelleme
deny from all
Tek Dosyaya Erişim Kısıtlama
Order allow,deny
Deny from all