htaccess yönlendirme (301, HTTPS, www)
Bu htaccess yönlendirme oluşturucu, .htaccess dosyanız için satırları yazar: bir sayfayı veya klasörü yönlendirme, HTTPS zorlama, www ekleme ya da kaldırma, tüm alan adını taşıma. Test, örnek bir URL’yi kuralın nereye yönlendirdiğini gösterir. Nginx karşılığı da dahildir.
Kaynak: Apache HTTP Server 2.4 – mod_rewrite (RewriteCond, RewriteRule, Flags R, L, NC). Güncelleme: .
Nasıl hesaplanır?
.htaccess dosyası, Apache sunucularında bir klasör ve tüm alt klasörleri için yönlendirmeleri ve başka kuralları – sunucu yapılandırmasına dokunmadan – denetler. Oluşturucu uygun satırları yazar; bunları sitenizin ana klasörüne kopyalayın.
htaccess yönlendirme nasıl oluşturulur
- “Ne olsun?” altında istediğiniz yönlendirmeyi seçin (örneğin “Tek bir sayfayı yönlendir” veya “HTTP → HTTPS zorla”).
- Bilgileri doldurun – gerekmeyen alanlar gizlenir. Kalıcı yönlendirmeler için “301” seçin.
- Testte örnek bir URL girin: kuralın onu yönlendirip yönlendirmediğini ve nereye yönlendirdiğini görürsünüz.
- Satırları kopyalayın, ana klasördeki .htaccess’e yapıştırın ve bir tarayıcıda (gizli pencere) deneyin.
301 mi 302 mi?
301 (veya 308) “kalıcı olarak taşındı” der. Arama motorları sinyalleri yeni adrese aktarır; tarayıcılar yönlendirmeyi uzun süre hatırlar. 302 (veya 307) geçicidir. 301’i geri almak zor olduğundan önce 302 ile deneyin. RFC 9110’a göre 307 ve 308, 302 ve 301’den farklı olarak istek yönteminin değişmesine izin vermez.
Redirect mi RewriteRule mu?
- Redirect / RedirectMatch (mod_alias) basittir ve sayfalar ile klasörler için yeter.
Redirect, eski yolla başlayan her adres için geçerlidir. - RewriteRule (mod_rewrite), “yalnızca HTTPS değilse” ya da “yalnızca bu alan adı için” gibi koşullarda gerekir. Sorgu dizesi varsayılan olarak değiştirilmeden aktarılır.
Sık karşılaşılan tuzaklar
- Sıra: yönlendirme, genel kuralların (WordPress gibi) önünde olmalı.
- Sonsuz döngü: hedef yeniden kurala takılmamalı; proxy veya CDN arkasında HTTPS denetimi X-Forwarded-Proto ile yapılmalı.
- Sunucu .htaccess’i yorumlamalı (AllowOverride) ve mod_rewrite etkin olmalı.
- Tarayıcı önbelleği: bir 301’i değiştirdikten sonra yalnızca önbelleği temizlemek ya da gizli pencere yardımcı olur.
Test, kuralı bu aracın içinde çalıştırır; gerçek sunucuda denemenin yerini tutmaz. Nginx için kuralların altında bir karşılık vardır (her durum için değil). Hiçbir şey gönderilmez: her şey tarayıcınızda yapılır.
Sıkça sorulan sorular
.htaccess’te 301 yönlendirmesi nasıl yapılır?
Tek bir sayfa için Redirect 301 /eski-yol https://example.com/yeni-yol/ yeter. Oluşturucu satırı girdilerinizden kurar; ana klasördeki .htaccess’e konur.
HTTP’den HTTPS’e nasıl yönlendiririm?
mod_rewrite ile: RewriteCond %{HTTPS} off ve RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]. “HTTP → HTTPS zorla”yı seçin; Cloudflare veya yük dengeleyici arkasında ayrıca “Proxy veya CDN arkasında”yı açın.
www’yi www’siz alan adına (veya tersine) nasıl yönlendiririm?
“www’li → www’suz” ya da “www’suz → www’li” seçin ve alan adını girin. Oluşturucu, ana bilgisayar adı için RewriteCond’u ve uygun RewriteRule’u yazar.
.htaccess dosyası nerede bulunur?
Sitenin ana klasöründe (index dosyasının bulunduğu yerde). Adı noktayla başlar ve bazı FTP programlarında başta görünmez: “gizli dosyaları göster”i açın.
301 ile 302 arasındaki fark nedir?
301 “kalıcı olarak taşındı”, 302 “geçici olarak” demektir. 301’de arama motorları eski adresin sinyallerini yenisine aktarır ve tarayıcılar yönlendirmeyi uzun süre hatırlar. Denemek için 302 daha güvenlidir.
Yönlendirmem neden çalışmıyor?
Çoğu zaman mod_rewrite veya AllowOverride etkin değildir, kural başka kuralların arkasında kalmıştır, tarayıcı önbellekteki bir 301’i gösterir ya da döngü oluşur (ör. Cloudflare arkasında). Test, kuralın kendisini denetlemeye yardım eder.
Kaynaklar ve yasal dayanak
- Apache HTTP Server 2.4 – mod_rewrite (RewriteCond, RewriteRule, Flags R, L, NC)
- Apache HTTP Server 2.4 – mod_alias (Redirect, RedirectMatch, Statuswerte permanent/temp/seeother/gone)
- § 15.4: IETF RFC 9110 – HTTP Semantics, § 15.4 Redirection 3xx (301, 302, 303, 307, 308)
- Nginx – ngx_http_rewrite_module (return, rewrite)
Güncelleme:
Benzer araçlar
- URL Slug OluşturucuBaşlıklardan SEO uyumlu URL slug oluşturun: küçük harf, tire, Türkçe karakterler olmadan (ş → s, ı → i), bağlaçlar isteğe bağlı. Birden çok başlık.
- Base64 dönüştürücü: encode ve decodeBase64 ve Base64url’i doğru UTF-8 ile kodlayın ve çözün; URL encode/decode (yüzde kodlama) dahil. Anlaşılır hata mesajları, tamamen tarayıcınızda çalışır.
- Piksel genişlikli SERP önizlemeTitle etiketi ve meta description girin, arama sonucunun önizlemesini görün – piksel genişliği, karakter sayısı ve snippet kesilebilecekse bir uyarıyla.
- UTM oluşturucuUTM oluşturucu: linklere utm_source, utm_medium, utm_campaign ve diğer parametreleri doğru kodlanmış olarak ekleyin; mevcut parametreler korunur.
- Sitemap oluşturucu: URL listenizden sitemap.xml hazırlayınSitemap oluşturucu, kayıt gerektirmez: URL’leri yapıştırın, Sitemaps protokolüne uygun sitemap.xml alın, hataları kontrol edin ve indirin. Tarayıcıda çalışır.
- DNS sorgulamaOnline DNS sorgulama: her alan adının A, AAAA, MX, TXT, CNAME, NS, SOA, CAA, SRV ve PTR kayıtları – TTL, DNSSEC durumu ve açıklamalı hata kodlarıyla.