.htaccess
“.htaccess” dosyası, sunucuya talimat vermek için kullanılan güçlü bir dosyadır. Bu dosyanın adı “Hypertext Access” yani “Hiper Metin Erişimi” anlamına gelir ve başlangıçta kullanıcıların belirli metin tabanlı web sitesi dosyalarına erişimini kontrol etmek amacıyla geliştirilmiştir. İlk kullanıldığında temel işlevi, bir sitenin belirli bölümlerine erişimi sınırlandırmaktı. Bir sistem yöneticisi, belirli talimatları .htaccess dosyasına kodlayarak bir sayfa veya dizine yalnızca şifre ile erişim sağlayabiliyordu. Günümüzde, .htaccess’in işlevselliği birçok farklı kullanım için genişletilmiştir.
.htaccess ile httpd.conf Arasındaki Fark Nedir?
Bu iki dosya, sunucu yapılandırmasını değiştirmek veya sunucuya ek talimatlar vermek için kullanılır. Ancak, httpd.conf ana yapılandırma dosyasıdır ve yalnızca bir tane olabilir. Öte yandan, .htaccess birden fazla dizinde ve birden fazla örnekte bulunabilir. Ayrıca, httpd.conf içindeki talimatlar sunucu her açıldığında bir kez okunurken, .htaccess içindeki talimatlar o dizinde veya alt dizinlerinde her sayfa yüklendiğinde okunur.
.htaccess Dosyası Nasıl Oluşturulur?
Yeni bir .htaccess dosyası oluşturmak için, Notepad++, Brackets veya TextMate gibi bir düz metin düzenleyici açın. Bu dosya sunucuya talimatlar verdiğinden, içeriği her siteye göre değişiklik gösterebilir. Kodlama bittikten sonra değişiklikleri kaydedin:
- Düzenleyicide Dosya > Farklı Kaydet seçeneğine gidin.
- Dosya adını .htaccess olarak girin.
- Dosya türünü Tüm Dosyalar olarak ayarlayın.
- Dosyanın herhangi bir uzantı olmadan kaydedildiğinden emin olun.
- UTF-8 yerine ASCII formatında kaydedildiğinden emin olun.
.htaccess dosyasını root dizinine yükleyin veya FTP ile yüklemek için cPanel gibi bir dosya yönetim sistemi kullanın. Ancak, root veya public_html dışında başka dizinlerde de birden fazla .htaccess dosyası olabilir. Yüklemeden önce, .htaccess dosyasının alt dizinlerdeki diğer talimatları geçersiz kılabileceğini unutmayın.
.htaccess Ne İçin Kullanılır?
.htaccess dosyası, içerdiği talimatlara bağlı olarak birçok işlevi yerine getirebilir. En yaygın kullanımlardan bazıları şunlardır:
Dinamik URL'leri Statik URL'lere Yeniden Yazma
PHP ile oluşturulan statik URL'ler, SEO açısından tercih edilir. Aşağıdaki kod, dinamik bir URL’yi statik bir URL’ye dönüştürmek için .htaccess dosyasına eklenebilir:
1 2 | RewriteEngine On RewriteRule (.*)_(.*).html$ /ornek.php?url_isbn=$1 [qsappend,L] |
Bu örnekte, /ornek.php dinamik URL’dir ve /ornek-1.html olarak yeniden yazılmaktadır.
Şifre Koruması Ayarlama
Bazı siteler, belirli sayfalara veya dizinlere erişimi sınırlandırmalıdır. Bu işlem için iki dosya gerekir:
- Kullanıcı adları ve şifrelerin saklandığı
.htpasswd dosyası. Bu dosya, kamuya açık olmayan bir dizinde saklanır:12user1:password1user2:password2
- Şifre talimatlarını içeren
.htaccess dosyası:12345AuthType BasicAuthName "restricted area"AuthUserFile /<şifre dosyasının mutlak yolu>/.htpasswdAuthPGAuthoritative Offrequire user User1 User2 User3
Yönlendirmeler
Ziyaretçileri eski bir sayfadan yeni bir sayfaya otomatik olarak yönlendirmek için aşağıdaki kod kullanılabilir:
1 | Redirect 301 /eski-url/dosya.html https://www.paint.com.tr/yeni-url/dosya.html |
Eski bir alan adından yeni bir alan adına yönlendirme yapmak için:
1 2 | RewriteCond %{REQUEST_URI} (.*) RewriteRule ^(.*)$ https://yeni-domain.com/$1 [L,R=301] |
Belirli IP Adreslerini Engelleme
Bazı durumlarda, belirli IP adreslerinin erişimini engellemek gerekebilir. IP adreslerini engellemek için aşağıdaki talimatları ekleyin:
1 2 3 | order allow,deny deny from 111.1.1.1 allow from all |
Yukarıdaki örnekte, 111.1.1.1 engellenen IP adresidir. Ek IP adresleri ekleyerek engellenen IP'leri çoğaltabilirsiniz.
.htaccess Dosyası Ne Zaman Kullanılmalı?
Bu dosya oldukça güçlüdür; bu nedenle yanlış kullanımda büyük sorunlara yol açabilir. .htaccess dosyasının yalnızca sunucu yapılandırmasını bilen kişiler tarafından düzenlenmesi veya oluşturulması önerilir. Bu nedenle, bu dosya genellikle gizlidir ve düzenlemeye çalışıldığında bir uyarı mesajı gösterilir.