.htaccess Dosyası İçin Örnek Kodlar ve Açıklamaları

.htaccess Dosyası İçin Örnek Kodlar ve Açıklamaları

1. SSL Yönlendirmesi

Web sitenizin HTTPS kullanarak güvenli bir şekilde erişilmesini sağlamak için HTTP’den HTTPS’ye yönlendirme.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Açıklama: Bu kod, HTTP üzerinden gelen tüm istekleri HTTPS’ye yönlendirir.

2. Belirli Bir Sayfayı HTTPS’ye Yönlendirme

Sadece belirli bir sayfayı HTTPS’ye yönlendirmek.

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} ^/ozel-sayfa$
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Açıklama: Sadece “/ozel-sayfa” yolunu HTTPS’ye yönlendirir.

3. IP Engelleme

Belirli bir IP adresinden gelen erişimi engellemek.

Order Deny,Allow
Deny from 192.168.1.1

Açıklama: 192.168.1.1 IP adresinden gelen tüm istekleri engeller.

4. IP Adresini İzin Verme

Belirli bir IP adresine erişim izni vermek.

Order Deny,Allow
Allow from 192.168.1.2
Deny from all

Açıklama: Sadece 192.168.1.2 IP adresinden gelen isteklere izin verir, diğer tüm istekleri engeller.

5. Dizin Listesini Kapatma

Dizin içeriğinin listelemesini kapatmak.

Options -Indexes

Açıklama: Bu kod, dizin listelenmesini devre dışı bırakır, böylece ziyaretçiler dizinlerin içeriğini göremez.

6. 301 Yönlendirmesi

Kalıcı olarak başka bir sayfaya yönlendirme.

Redirect 301 /eski-sayfa.html /yeni-sayfa.html

Açıklama: “/eski-sayfa.html” adresini “/yeni-sayfa.html” adresine kalıcı olarak yönlendirir.

7. 302 Yönlendirmesi

Geçici olarak başka bir sayfaya yönlendirme.

Redirect 302 /gecici-sayfa.html /yeni-gecici-sayfa.html

Açıklama: “/gecici-sayfa.html” adresini geçici olarak “/yeni-gecici-sayfa.html” adresine yönlendirir.

8. Hotlink Koruması

Diğer sitelerin sizin bant genişliğinizi kullanarak resimlerinizi göstermesini engellemek.

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?siteniz.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]

Açıklama: Başka sitelerden gelen resim isteğini engeller.

9. Kullanıcıyı Anasayfaya Yönlendirme

Kullanıcıları otomatik olarak anasayfaya yönlendirmek.

RewriteEngine On
RewriteRule ^$ /anasayfa.html [L]

10. URL’den www Kaldırma

URL’den “www” ön ekini kaldırmak.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

Açıklama: www ile başlayan URL’leri www olmadan yönlendirir.

11. URL’ye www Ekleme

URL’ye “www” ön ekini eklemek.

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

Açıklama: www olmayan URL’leri www ile başlayan URL’lere yönlendirir.

12. Dosya Türüne Göre Yönlendirme

Belirli bir dosya türüne gelen istekleri yönlendirmek.

RewriteEngine On
RewriteRule \.pdf$ /pdf-yonlendirme.html [L]

Açıklama: PDF dosyalarına gelen istekleri “/pdf-yonlendirme.html” sayfasına yönlendirir.

13. Eski URL’den Yeni URL’ye Yönlendirme

Eski bir URL’yi yeni bir URL’ye yönlendirmek.

RewriteEngine On
RewriteRule ^eski-urun/(.*)$ /yeni-urun/$1 [R=301,L]

Açıklama: “/eski-urun” ile başlayan tüm URL’leri “/yeni-urun” ile başlayan URL’lere yönlendirir.

14. Erişim Kontrolü

Belirli bir dizine erişimi şifreyle korumak.

AuthType Basic
AuthName "Restricted Area"
AuthUserFile /path/to/.htpasswd
Require valid-user

Açıklama: Dizin erişimini .htpasswd dosyasındaki kullanıcı adı ve şifre ile sınırlar.

15. Dizin Koruması

Bir dizini şifreyle korumak için gerekli .htpasswd dosyasını oluşturmak.

htpasswd -c /path/to/.htpasswd username

Açıklama: Kullanıcı adı ve şifre ile .htpasswd dosyasını oluşturur.

16. 404 Sayfası Yönlendirmesi

Özel bir 404 hata sayfası ayarlamak.

ErrorDocument 404 /404.html

Açıklama: 404 hatalarında “/404.html” sayfasını gösterir.

17. 500 Hata Sayfası Yönlendirmesi

Özel bir 500 hata sayfası ayarlamak.

ErrorDocument 500 /500.html

Açıklama: 500 hatalarında “/500.html” sayfasını gösterir.

18. Tarayıcı Önbellekleme

Tarayıcı önbelleklemesini kontrol etmek.

<filesMatch "\.(jpg|jpeg|png|gif|css|js)$">
ExpiresActive On
ExpiresDefault "access plus 1 month"
</filesMatch>

Açıklama: Belirtilen dosya türlerinin tarayıcı önbelleklemesini 1 ay süreyle etkinleştirir.

19. URL Yeniden Yazma

Dostu URL’ler oluşturmak için URL’leri yeniden yazmak.

RewriteEngine On
RewriteRule ^urunler/(.*)$ urun-detay.php?urun=$1 [L]

Açıklama: “/urunler/xxx” URL’sini “urun-detay.php?urun=xxx” URL’sine yönlendirir.

20. Mobil Cihaz Yönlendirmesi

Mobil cihazları özel bir sayfaya yönlendirmek.

RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} "android|iphone|ipad" [NC]
RewriteRule ^$ /mobil-anasayfa.html [L]

Açıklama: Mobil cihazlardan gelen istekleri “/mobil-anasayfa.html” sayfasına yönlendirir.

21. HTTP Metodu Kontrolü

Sadece GET ve POST isteklerine izin vermek.

<LimitExcept GET POST>
Deny from all
</LimitExcept>

Açıklama: GET ve POST dışındaki tüm HTTP isteklerini engeller.

22. İçerik Türüne Göre Yönlendirme

Belirli bir içerik türüne gelen istekleri yönlendirmek.

RewriteEngine On
RewriteCond %{REQUEST_URI} \.(xml|rss)$
RewriteRule ^(.*)$ /rss-yonlendirme.html [L]

Açıklama: XML ve RSS dosyalarına gelen istekleri “/rss-yonlendirme.html” sayfasına yönlendirir.

23. Dosya Boyutu Sınırlaması

Yüklenen dosyaların boyutunu sınırlamak.

LimitRequestBody 1048576

Açıklama: Yüklenen dosya boyutunu 1 MB ile sınırlar.

24. IP Aralığını Engelleme

Belirli bir IP aralığını engellemek.

Order Deny,Allow
Deny from 192.168.0.0/24

Açıklama: 192.168.0.0 ile 192.168.0.255 arasındaki tüm IP adreslerinden gelen istekleri engeller.

25. Siteyi Bakım Moduna Alma

Siteyi bakım moduna almak için gelen tüm istekleri bakım sayfasına yönlendirmek.

RewriteEngine On
RewriteCond %{REQUEST_URI} !/bakim.html$
RewriteRule ^(.*)$ /bakim.html [R=302,L]

Açıklama: Tüm istekleri geçici olarak “/bakim.html” sayfasına yönlendirir, bakım modunu etkinleştirir.

Bu makalede, .htaccess dosyası ile yapılabilecek 25 farklı yapılandırma ve yönlendirme örneği verilmiştir. Her bir kodun ne yaptığı ve nasıl kullanılabileceği detaylı olarak açıklanmıştır. Bu kodlar, web sitenizin güvenliğini artırmak, performansını iyileştirmek ve kullanıcı deneyimini geliştirmek için kullanılabilir.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir