.htaccess İle 301 Yönlendirme (Redirect) Nasıl Yapılır?

Web sitenizi yönetirken çeşitli nedenlerle sayfa yapılarını değiştirmek, içerikleri silmek veya alan adınızı tamamen taşımak zorunda kalabilirsiniz.

Son Güncelleme: 12.07.2026

3 dk
htaccess 301 yönlendirme

Yapay zekâ ile tek tıkla özet oluşturun.

Bu tür durumlarda, sitenizi ziyaret eden kullanıcıların ve sitenizi tarayan arama motoru botlarının “404 Sayfa Bulunamadı” hatasıyla karşılaşmaması gerekir. Bunun için yapmanız gereken .htaccess 301 yönlendirme işleminden faydalanmaktır.

Bu işlem, eski adrese gelen trafiği kalıcı olarak yeni adrese taşır ve dijital dünyada adres değişikliği bildirimi işlevi görür. Arama motoru optimizasyonu (SEO) ve kullanıcı deneyimi açısından kritik olan bu teknik süreci, Apache sunucularda kullanılan .htaccess dosyası üzerinden kolayca yönetebilirsiniz.

.htaccess Nedir? Hangi Sunucularda Kullanılır?

Hypertext Access kelimelerinin kısaltması olan .htaccess, web sitenizin dizin düzeyinde yapılandırma ayarlarını kontrol eden güçlü bir dosyadır. Sunucunun ana ayar dosyalarına müdahale etmeden, web sitenizin nasıl davranacağını belirlemenize olanak tanır. Genellikle Linux tabanlı işletim sistemlerinde çalışan Apache ve LiteSpeed web sunucularında kullanılır. Nginx sunucular bu dosyayı doğrudan desteklemez.

Sitenizin kök dizininde bulunan bu dosya aracılığıyla sayfa yönlendirmeleri, IP engellemeleri, şifreli klasör koruması ve önbellekleme (cache) ayarları gibi birçok kritik işlemi gerçekleştirirsiniz. Dosya adının başındaki nokta işareti, onun sistemde gizli dosya olduğunu belirtir.

301 Yönlendirmesi (Permanent Redirect) Ne Anlama Gelir?

Teknik literatürde permanent redirect olarak geçen 301 yönlendirmesi, bir URL’nin kalıcı olarak başka bir konuma taşındığını ifade eden HTTP durum kodudur. Bu kodu kullandığınızda, tarayıcılara ve arama motorlarına şu mesajı verirsiniz: “Bu sayfa artık burada değil, kalıcı olarak yeni adrese taşındı. Lütfen indeksini güncelle ve eski sayfanın sahip olduğu tüm SEO otoritesini (link gücünü) yeni sayfaya aktar.”

301, 302 geçici yönlendirmesinin aksine, arama motorlarının eski URL’yi dizinden silmesini ve yerine yenisini eklemesini sağlar. Bu sayede web sitesi trafiğinizi kaybetmez ve sıralamanızı korursunuz.

.htaccess Dosyasına Nasıl Erişilir ve Düzenlenir?

Bu dosyaya erişmek için genellikle iki yöntem kullanılır: cPanel üzerindeki Dosya Yöneticisi veya FileZilla gibi bir FTP istemcisi. Sitenizin ana dizini olan public_html klasörüne girdiğinizde .htaccess dosyasını görebilirsiniz. Dosya görünmüyorsa ayarlar kısmından gizli dosyaları göster seçeneğini aktive etmeniz gerekir.

Dosyayı düzenlemeden önce mutlaka bir yedeğini bilgisayarınıza indirmelisiniz. Çünkü bu dosyadaki tek bir karakter hatası (örneğin fazladan bir boşluk veya yanlış bir noktalama işareti), web sitenizin tamamen erişilemez hâle gelmesine ve 500 Internal Server Error hatası vermesine neden olabilir. Düzenleme işlemi için dosyayı sağ tıklayıp Edit veya Düzenle diyerek herhangi bir metin editörüyle kodları ekleyebilirsiniz.

Tekil URL’den Yeni URL’ye 301 Yönlendirme Örneği

Sitenizdeki tek bir sayfanın adresi değiştiyse veya sildiğiniz bir içeriği benzer başka bir içeriğe yönlendirmek istiyorsanız en basit komut satırını kullanırsınız. Bu işlem için karmaşık kurallara gerek yoktur.

Aşağıdaki kodu .htaccess dosyanıza ekleyerek eski sayfayı yeni sayfaya yönlendirebilirsiniz:

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

Bu komutta dikkat etmeniz gereken nokta, ilk kısımda (eski sayfa) alan adını yazmadan sadece dosya yolunu belirtmeniz, ikinci kısımda (yeni sayfa) ise yine dosya yolunu veya tam URL’yi yazmanızdır.

Eski Domain’den Yeni Domain’e 301 Yönlendirme Örneği

Marka değişikliği gibi nedenlerle sitenizi tamamen yeni bir alan adına taşıdığınızda, eski domaindeki tüm sayfaların, yeni domaindeki karşılıklarına birebir yönlenmesi gerekir. Sadece ana sayfayı yönlendirmek, alt sayfalara gelen trafiği öldürür.

Tüm siteyi link yapısını bozmadan taşımak için şu kod bloğunu kullanabilirsiniz:

RewriteEngine on RewriteRule ^(.*)$ https://www.yenisite.com/$1 [R=301,L]

Bu komut, eskisite.com/iletisim adresine giren bir ziyaretçiyi otomatik olarak yenisite.com/iletisim adresine gönderir. RewriteEngine on komutu, sunucunun yeniden yazma modülünü aktif hâle getirir.

www ve www Olmayan (Non-www) Yönlendirme Örneği

Arama motorları http://site.com ve http://www.site.com adreslerini iki farklı web sitesi olarak algılayabilir. Bu durum duplicate content yani yinelenen içerik sorununa yol açar ve SEO performansınızı düşürür. Bu yüzden tek bir versiyon seçip diğerini ona yönlendirmeniz gerekir.

Sitenizi www versiyonuna zorlamak için:

RewriteEngine on RewriteCond %{HTTP_HOST} ^site.com [NC] RewriteRule ^(.*)$ https://www.site.com/$1 [L,R=301,NC]

Bununla birlikte www kullanmak istemiyorsanız, kodlardaki yerleri değiştirerek tam tersi işlemi uygulayabilirsiniz.

HTTP’den HTTPS’ye 301 Yönlendirme Örneği

Web güvenliği ve Google sıralama kriterleri gereği SSL sertifikası kullanımı artık bir standarttır. Ancak SSL yüklemek tek başına yeterli değildir, sitenize gelen tüm trafiği güvenli protokole (HTTPS) zorlamanız gerekir. Aksi takdirde kullanıcılar sitenize güvensiz HTTP üzerinden de erişebilir.

Tüm trafiği otomatik olarak HTTPS’e yönlendirmek için şu kodları dosyanın en üstüne ekleyebilirsiniz:

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

Bu işlem, ziyaretçi tarayıcıya sadece site.com yazsa bile, sunucunun onu otomatik olarak güvenli https://site.com adresine göndermesini sağlar. Aynı zamanda .htaccess 301 yönlendirme işlemlerinin günümüzde en sık kullanılan ve en gerekli olanıdır.

Yorum Gönder

Yorum Bırakın

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