.htaccess Nedir? En Çok Kullanılan .htaccess Kodları27/08/2025 tarihinde gönderilmiş MarkaHost Editör tarafından .htaccess Dosyası Nedir ve Ne İşe Yarar? .htaccess Dosyası Nasıl Oluşturulur ve Nerede Bulunur? En Sık Kullanılan .htaccess Kodları Listesi 301 Kalıcı Yönlendirme Kodu HTTPS’ye Zorunlu Yönlendirme (SSL Redirect) www ve www Olmadan Yönlendirme Belirli IP’leri Engelleme Kodu Dizin Listelemeyi Devre Dışı Bırakma Hotlink Koruma Kodu Sayfa veya Dizin Şifreleme PHP Versiyonunu Zorla Ayarlama Tarayıcı Önbellekleme Ayarları Hata Sayfaları için Özel Yönlendirme (404, 403, 500) .htaccess Kodlarında Sık Yapılan Hatalar ve Çözüm Yolları .htaccess Kodlarını Test Etmeden Önce Dikkat Edilmesi Gerekenler.htaccess Dosyası Nedir ve Ne İşe Yarar?WordPress htaccess dosyası (Hypertext Access), Apache gibi web sunucularında kullanılan ve sitenizin belirli ayarlarını yönetmenize imkân tanıyan bir yapılandırma dosyasıdır. htaccess dosyası sayesinde sitenizde güvenlik, yetkilendirme ve erişim kısıtlamaları gibi birçok işlemi doğrudan yönetebilirsiniz.Örneğin .htaccess yardımıyla bir klasöre parola koyarak yetkisiz erişimi engelleyebilir, kullanıcı doğrulaması yapabilirsiniz. Bu dosyanın en önemli avantajlarından biri, ileri düzey kod bilgisine sahip olmadan da kendi web siteniz için kolayca .htaccess dosyası hazırlayabilmenizdir..htaccess Dosyası Nasıl Oluşturulur ve Nerede Bulunur?.htaccess dosyasına cPanel üzerinden ya da FTP bağlantısı kurarak ulaşabilir ve üzerinde değişiklik yapabilirsiniz. Yeni bir htaccess dosyası oluşturma işlemi için aşağıdaki örnek kullanılabilir:# BEGIN HTTPS Redirection <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$ RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$ RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301] </IfModule> # END HTTPS Redirection Bu dosya, sitenizin ana kök dizininde yer alır. Görüntülemek ve düzenlemek için şu adımları izleyebilirsiniz:cPanel hesabınıza giriş yapın,Dosya yöneticisi seçeneğini açın,“Gizli dosyaları göster” kutucuğunu işaretleyin,Kök dizine gidin ve “git” butonuna tıklayın,.htaccess dosyasını public_html klasöründe bulup düzenleyin.En Sık Kullanılan .htaccess Kodları ListesiTürkiye’nin en güvenilir ve kaliteli hosting hizmet sağlayıcılarından olan MarkaHost adresi olarak en sık kullanılan .htaccess kodlarını sizler için aşağıdaki şekilde sıraladık.301 Kalıcı Yönlendirme Kodu301 yönlendirmesi, kalıcı URL değişiklikleri için kullanılan koddur. Ziyaretçileri ve arama motorlarının botlarını eski sayfalardan yeni sayfalara yönlendirir. Böylece arama motorları aynı içeriği iki kez taramak zorunda kalmaz ve yinelenen içerik problemleri ortadan kalkar.HTTPS’ye Zorunlu Yönlendirme (SSL Redirect)Tüm HTTP trafiğini HTTPS’ye yönlendirmek için .htaccess dosyanıza aşağıdaki kodu eklemeniz gerekir. Bu dosya genellikle web sitenizin kök dizininde bulunur. Bir metin editörüyle açarak şu kuralları ekleyebilirsiniz:RewriteEngine On RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Bu kod şu şekilde çalışır:RewriteEngine On: URL yönlendirmelerini aktif hale getirir.RewriteCond %{HTTPS} off: İsteklerin HTTPS yerine HTTP olup olmadığını kontrol eder.RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]: Tüm HTTP isteklerini HTTPS’ye yönlendirir. Buradaki R=301 ibaresi işlemin kalıcı bir yönlendirme olduğunu belirtir.www ve www Olmadan Yönlendirmehtaccess url değiştirme işlemiyle bir web sitesi hem www. markahost com.tr hem de markahost com.tr adresleri üzerinden açılabilir. Kullanıcılar açısından bu bir fark yaratmaz, ancak teknik açıdan arama motorları için karışıklığa neden olabilir. SEO açısından sorun yaşamamak için tek bir kullanım biçimi seçilmesi gerekir.Bunun için sitenizin FTP dizininde bulunan .htaccess dosyasını gelişmiş bir metin editörü (örneğin Notepad++ veya WordPad) ile açıp düzenlemeniz gerekir. Basit Notepad ile bu dosya sağlıklı şekilde düzenlenemez. Ayrıca cPanel kullananlar, dosya yöneticisi üzerinden aynı işlemi kolayca yapabilir.www ile başlayan adres yönlendirmesi için:RewriteEngine OnRewriteCond %{HTTP_HOST} !^www\.markahost\.com.trRewriteRule (.*) http://www.markahost.com.tr/$1 [R=301,L]www olmadan yönlendirme için:RewriteEngine OnRewriteCond %{HTTP_HOST} ^www\.markahost\.com.tr$RewriteRule ^(.*)$ http://markahost.com.tr/$1 [L,R=301]Bu kodlarda kendi alan adınız yer almalıdır, örnekteki adresleri kendi sitenize uygun şekilde değiştirmeyi unutmayın. Ayrıca sitenizde SSL sertifikası bulunuyorsa, yönlendirme kodlarındaki http ibaresini https olarak düzenlemeniz gerekir.Belirli IP’leri Engelleme KoduWeb sitenize zarar veren, spam yorum gönderen veya gereksiz trafik oluşturan IP adreslerini .htaccess dosyasına ekleyeceğiniz kurallarla kolayca engelleyebilirsiniz.Tek bir IP adresini engellemek için:Deny from 123.456.789.35Bu kod 123.456.789.35 adresinden gelen tüm erişimleri engeller.Birden fazla IP adresini engellemek için:Deny from 123.456.789.35 123.35.123.35IP adreslerini boşlukla ayırarak aynı anda birden fazlasını engelleyebilirsiniz.IP aralıklarını engellemek için:Deny from 123.456.789.Bu kod 123.456.789. ile başlayan tüm IP adreslerini engeller.Bu komut 123.456.789 ile başlayan tüm IP adreslerinin erişimini durdurur. İhtiyacınıza göre yukarıdaki kodları .htaccess dosyanıza ekleyerek IP bloklaması yapabilirsiniz.Dizin Listelemeyi Devre Dışı BırakmaSunucunuzdaki klasörlerin içeriğinin dışarıdan görünmesini istemiyorsanız, en kolay yöntem klasör içine boş bir index.html dosyası yerleştirmektir. Ancak çok sayıda dizin için bu yöntem zahmetli olabilir. Bu durumda, .htaccess dosyası ile dizin listelemesini kapatabilirsiniz. Örneğin yalnızca .zip dosyalarının listelenmesini engelleyebilirsiniz.Tüm dosyalar için listelemeyi kapatmak:IndexIgnore *Sadece belirli bir uzantıyı gizlemek (.zip örneği):IndexIgnore *.zipBirden fazla uzantıyı gizlemek:IndexIgnore *.zip *.jpg *.gifEğer sunucunuz dizin listelemeyi kapatmışsa ve tam tersine listelemeyi aktif hale getirmek isterseniz şu kodu kullanabilirsiniz:Options +IndexesHotlink Koruma KoduHotlink, başka bir sitenin sizin sunucunuzda barındırılan görselleri veya dosyaları kendi sayfasında doğrudan kullanmasıdır. Bu durum bant genişliğinizi tüketir ve performans sorunlarına yol açar. .htaccess dosyanızda hotlink koruması etkinleştirerek bunu engelleyebilirsiniz:RewriteEngine on# Boş yönlendireni de engellemek istiyorsanız aşağıdaki satırı kaldırınRewriteCond %{HTTP_REFERER} !^$RewriteCond %{HTTP_REFERER} !^https?://(.+\.)?alanadiniz.com [NC]RewriteRule \.(jpg|jpeg|png|gif|bmp)$ – [NC,F,L]Sayfa veya Dizin ŞifrelemeBir dizini veya belirli bir sayfayı şifreyle korumak için öncelikle .htpasswd isimli bir dosya oluşturmanız gerekir. Bu dosyanın uzantısı bulunmaz. Örneğin, kullanıcı adınız: markaweb ve şifreniz: com5net şeklindeyse dosya içine kullanıcı adı ve şifreyi şu şekilde yazabilirsiniz:markaweb:com5netGüvenlik açısından .htpasswd dosyasını web kök dizininde değil, www klasörünün bir üstünde tutmanız önerilir. Ayrıca dosyayı yüklerken ASCII modunda göndermelisiniz, BINARY modunda değil.Sonrasında yeni bir .htaccess dosyası oluşturun ve şu kodu ekleyin:AuthName “Korumalı Alan”AuthUserFile /usr/local/sectiginiz-dizin/.htpasswdAuthGroupFile /dev/nullAuthType Basic<Files korumali.htm>require user markaweb</Files>Buradaki korumali.htm kısmını korumak istediğiniz dosya adıyla değiştirebilirsiniz. Eğer birden fazla kullanıcı adı ve şifre eklediyseniz, .htpasswd dosyasına her birini alt alta yazarak eklemeli ve .htaccess içindeki require user markaweb satırını şu şekilde düzenlemelisiniz:require valid-userAuthName kısmı ise korumak istediğiniz alanın görünen adıdır, istediğiniz şekilde adlandırabilirsiniz.PHP Versiyonunu Zorla AyarlamaWeb sitenizde kullanılacak PHP sürümünü .htaccess dosyasıyla değiştirebilirsiniz. Bunun için AddHandler direktifi kullanılır. Örneğin PHP 7.4 sürümünü ayarlamak için:AddHandler application/x-httpd-php74 .phpBuradaki 74 ifadesi, kullanmak istediğiniz PHP sürüm numarasını temsil eder. Farklı bir sürüm kullanmak isterseniz bu değeri değiştirmeniz gerekir. Ancak bu yöntemin çalışması için hosting sağlayıcınızın birden fazla PHP sürümünü desteklemesi ve istediğiniz sürümün sunucuda kurulu olması zorunludur. Emin değilseniz, hosting firmanızla iletişime geçip destek durumunu öğrenmelisiniz.Tarayıcı Önbellekleme AyarlarıTarayıcı önbelleği kullanmak, bir web sitesinin tekrar ziyaret edildiğinde daha hızlı yüklenmesini sağlamak için uygulanan basit ama etkili bir yöntemdir. Bu teknik, özellikle geri dönüş oranı yüksek sitelerde sayfa açılış hızlarını ciddi ölçüde artırır.Bir kullanıcı web sayfasına eriştiğinde tarayıcı, HTML, görseller, CSS dosyaları, JavaScript kodları ve diğer gerekli kaynakları indirir. Çoğu sayfa, ziyaretler arasında aynı içerikleri tekrar tekrar yükler. Tarayıcı önbellekleme sayesinde bu dosyalar belirli bir süre kullanıcı tarafında saklanır ve sonraki ziyaretlerde yeniden indirilmelerine gerek kalmaz. Böylece yükleme süresi büyük ölçüde azalır..htaccess dosyası Apache web sunucusunda yapılandırma ayarlarını barındırır. Bu dosyaya ekleyeceğiniz özel parametreler ile tarayıcı önbelleklemesini aktif hale getirebilirsiniz. Web sitenizin public_html dizininde bulunan .htaccess dosyasını düzenleyebilir ya da yoksa yenisini oluşturabilirsiniz.Aşağıdaki örnek kodu .htaccess dosyanıza eklediğinizde, görsellerden CSS ve JavaScript dosyalarına kadar pek çok statik içerik belirli süre boyunca tarayıcıda saklanacaktır. Böylece kullanıcılar siteyi tekrar ziyaret ettiklerinde sayfalar çok daha hızlı açılacaktır:ExpiresActive OnExpiresByType image/jpg “access 1 year”ExpiresByType image/jpeg “access 1 year”ExpiresByType image/gif “access 1 year”ExpiresByType image/png “access 1 year”ExpiresByType text/css “access 1 month”ExpiresByType application/pdf “access 1 month”ExpiresByType text/x-javascript “access 1 month”ExpiresByType application/x-shockwave-flash “access 1 month”ExpiresByType image/x-icon “access 1 year”ExpiresDefault “access 2 days”Bu ayarlar sayesinde resimler, ikonlar, stil dosyaları ve JavaScript içerikleri belirlenen süre boyunca önbellekte kalır, böylece site performansı ve kullanıcı deneyimi önemli ölçüde iyileştirilmiş olur.Hata Sayfaları için Özel Yönlendirme (404, 403, 500)Web sitenizde oluşan hatalar için özel sayfalar oluşturmak, ziyaretçilere profesyonel bir görünüm sunar. Özellikle 404 Sayfa Bulunamadı hataları için markanıza uygun bir hata sayfası hazırlayarak kullanıcı deneyimini iyileştirebilirsiniz. Örneğin aşağıdaki kod ile sitenizde özel bir 404 sayfası tanımlayabilirsiniz:ErrorDocument 404 /error/pagenotfound.htmlYanlış yapılandırılmış bir .htaccess dosyası bazen 403 Yasak hatasına yol açabilir. Bu durum genellikle hatalı erişim kuralları veya yanlış yeniden yazma işlemlerinden kaynaklanır. Eğer .htaccess dosyanız kötü amaçlı yazılım tarafından değiştirilmişse veya bozulmuşsa, sorunu çözmek için temiz bir sürümle değiştirmeniz gerekir.Örneğin Hostinger kullanıyorsanız hPanel aracılığıyla yeni bir .htaccess dosyası oluşturabilirsiniz. Bunun için şu adımları izleyebilirsiniz:Kontrol panelinizden Dosyalar → Dosya Yöneticisi seçeneğine gidin.public_html klasörünü açın ve mevcut .htaccess dosyasını bulun.Dosyayı yedeklemek için sağ tıklayıp İndir seçeneğini kullanın.Mevcut dosyayı silin.Yeni dosya oluştururken uzantı eklemeden yalnızca .htaccess adını verin.Bu işlemler sayesinde hem bozuk ayarlardan kurtulabilir hem de özel hata sayfalarını sorunsuz bir şekilde etkinleştirebilirsiniz..htaccess Kodlarında Sık Yapılan Hatalar ve Çözüm Yolları.htaccess dosyalarında en sık karşılaşılan sorunların başında yazım hataları ve yanlış sözdizimi gelir. Eksik ya da hatalı yazılmış direktifler çoğu zaman 500 Internal Server Error hatasına yol açar. Bu tür bir sorun yaşandığında dosyanın metin editöründe dikkatlice kontrol edilmesi ve tüm komutların doğru yazıldığından emin olunması gerekir. 500 Internal Server Error aynı zamanda hatalı kurallardan, yanlış mod_rewrite kullanımından, eksik modüllerden veya uyumsuz PHP sürümlerinden de kaynaklanabilir. Böyle bir durumda hatalı kuralın bulunarak düzeltilmesi, gerekirse dosyanın orijinal halinden yedek alınarak yeniden oluşturulması sorunu çözer.Bir diğer yaygın problem yönlendirme döngüleridir. Yanlış yapılandırılmış yönlendirme kuralları sitenin sürekli kendi içine yönlendirilmesine neden olur. Bu durumda yönlendirme kurallarını sadeleştirmek ve koşulları doğru ayarlamak gerekir. Ayrıca dosya ve dizin izinleri de önemli bir konudur. .htaccess dosyasına veya diğer dosyalara yazma izni verilmediğinde çeşitli sorunlar ortaya çıkar. Bu durumda dosya izinlerinin 644 veya 666 olarak ayarlanması gerekir..htaccess Kodlarını Test Etmeden Önce Dikkat Edilmesi Gerekenler.htaccess kodları test edilmeden önce, sunucununuzun doğru yapılandırıldığından ve girilen kodların yazım hatası içermediğinden emin olmak gerekmektedir. Ayrıca, değişiklikleri kaydetmeden önce yedekleme oluşturmak ve Apache sunucusunun yeniden yüklenmesi gerekmektedir.