ERR_TOO_MANY_REDIRECTS: Nasıl Düzeltilir (Tüm Tarayıcılar)
Önemli bilgi
ERR_TOO_MANY_REDIRECTS, bir sayfanın tarayıcınızı yüklenmeden 20'den fazla kez yönlendirdiği anlamına gelir; 20, Chrome, Edge, Firefox ve Safari'nin ortak sınırıdır. Ziyaretçiler bu hatayı o sitenin çerezlerini silerek düzeltir. Site sahipleri ise HTTPS'yi (ve www'yi) yalnızca tek bir yerde zorlayarak düzeltir: döngülerin çoğu Cloudflare'ın Flexible SSL modu ile sunucudaki HTTPS yönlendirmesinin bir araya gelmesinden çıkar.
Şimdi kontrol edin

Okumaya başlayın
- ERR_
TOO_ MANY_ REDIRECTS Nedir? - Yönlendirme Döngülerine Ne Sebep Olur?
- Yönlendirme Döngüsü Nasıl Teşhis Edilir
- Düzeltme 1: Tarayıcı Çerezlerini ve Önbelleği Temizleyin
- Düzeltme 2: SSL/HTTPS Yapılandırmasını Kontrol Edin
- Düzeltme 3: Cloudflare Yönlendirme Döngülerini Düzeltin
- Düzeltme 4: .htaccess Yönlendirme Kurallarını Düzeltin (Apache)
- Düzeltme 5: WordPress Yönlendirme Döngülerini Düzeltin
- Düzeltme 6: Sunucu Seviyesi Yönlendirmeleri Düzeltin (Nginx ve Apache)
- Düzeltme 7: Tarayıcıya Özel Sorun Giderme
- Düzeltme 8: Web Uygulamalarında Giriş Yönlendirme Döngüleri
- Yönlendirme Döngülerini Nasıl Önlersiniz
- Yönlendirme Döngülerinin SEO Üzerindeki Etkisi
- Sıkça Sorulan Sorular
ERR_TOO_MANY_REDIRECTS Nedir?
ERR_TOO_MANY_REDIRECTS, sayfanın tarayıcınızı hiç yüklenmeden 20'den fazla kez başka bir adrese gönderdiği anlamına gelir: bu bir yönlendirme döngüsüdür. Chrome "Bu sayfa çalışmıyor. example.com sizi çok fazla kez yönlendirdi" der (Edge aynı kodla benzer bir sayfa gösterir), Firefox "Sayfa doğru bir şekilde yönlendirilmiyor" der, Safari ise "Safari Sayfayı Açamıyor" başlığıyla "… açılmaya çalışılırken çok fazla yönlendirme oldu" mesajını gösterir. Apple cihazlarındaki bazı uygulamalar aynı durumu "çok fazla HTTP yönlendirmesi" diye bildirir.
Siteyi yalnızca ziyaret ediyorsanız o sitenin çerezlerini silin ve sayfayı yenileyin: site herkes için çalışıyorsa sebep genellikle eski bir çerezdir. Site sizinse döngü neredeyse her zaman HTTPS'nin (veya www'nin) aynı anda iki yerde zorlanmasından kaynaklanır; en sık görülen durum, Cloudflare'ın Flexible SSL modu ile sunucudaki HTTPS yönlendirmesinin birlikte çalışmasıdır.
Yönlendirme zincirinizi şimdi kontrol edin
| Tarayıcı | Ne diyor | Takip ettiği yönlendirme sayısı |
|---|---|---|
| Chrome | Bu sayfa çalışmıyor · ERR_TOO_MANY_REDIRECTS | 20 (Chromium'daki kMaxRedirects) |
| Edge | Benzer bir hata sayfası · ERR_TOO_MANY_REDIRECTS | 20 (Chromium) |
| Firefox | Sayfa doğru bir şekilde yönlendirilmiyor | 20 (network.http.redirection-limit) |
| Safari | Safari Sayfayı Açamıyor · çok fazla yönlendirme oldu | 20 (Web Inspector: "Load cannot follow more than 20 redirections") |
| Chrome ve Edge DevTools konsolu | net::ERR_TOO_MANY_REDIRECTS | 20 (Fetch Standardı'nın sınırı da budur) |
Sınırın her yerde aynı olmasının nedeni, tarayıcıların uyguladığı Fetch Standardı'nın bunu şart koşmasıdır: "If request's redirect count is 20, then return a network error." (isteğin yönlendirme sayısı 20 ise ağ hatası döndür). Döngünün kendisi genellikle birbirini gösteren iki 301 veya 302 yanıtıdır: URL A sizi URL B'ye, URL B de tekrar A'ya gönderir ve tarayıcı 20'de saymayı bırakır.
Yönlendirme Döngülerine Ne Sebep Olur?
Yönlendirme döngüleri, iki veya daha fazla yönlendirme kuralı birbiriyle çakıştığında oluşur. Sunucu tarayıcıyı bir URL'ye gönderir ve o URL tarayıcıyı geri gönderir. En yaygın nedenler şunlardır:
- SSL/HTTPS yapılandırma hatası — En yaygın neden. Sunucunuz HTTP'den HTTPS'ye yönlendirmeyi zorlarken CDN veya yük dengeleyici kaynak sunucuya HTTP üzerinden bağlanır ve şu döngü oluşur: CDN → HTTP → sunucu HTTPS'ye yönlendirir → CDN HTTPS'yi kaldırır → HTTP → döngü
- Cloudflare Flexible SSL — Cloudflare'ın Flexible SSL modu, kaynak sunucuya HTTP üzerinden istek gönderir. Kaynak sunucu da HTTP'den HTTPS'ye yönlendirme yapıyorsa, Cloudflare ile sunucu arasında sonsuz döngü oluşur
- Çakışan .htaccess kuralları —
.htaccessdosyasında birbirleriyle çelişen birden fazla yönlendirme kuralı; örneğin bir kural www'yi zorlarken diğeri aynı anda www'siz kullanmayı zorlar - WordPress URL uyumsuzluğu — Ayarlar > Genel'deki WordPress Adresi (URL) ve Site Adresi (URL) eşleşmiyor veya biri HTTP kullanırken diğeri HTTPS kullanıyor
- Eski tarayıcı çerezleri — Artık mevcut olmayan veya taşınmış bir URL'ye tarayıcıyı zorlayan eski yönlendirme talimatları veya oturum verileri içeren çerezler
- CDN veya proxy'de önbelleğe alınmış yönlendirmeler — CDN'niz, mevcut sunucu yapılandırmasıyla çakışan eski bir 301 yönlendirmesini önbelleğe almış
- Sunucu yapılandırma çakışmaları — Nginx veya Apache yapılandırma dosyalarında, hem server bloğunda hem de .htaccess'te aynı anda yönlendirme yapma gibi çakışan yönlendirme blokları
- Uygulama giriş döngüleri — Oturum açmamış ziyaretçileri kendisine yönlendiren bir giriş sayfası veya tarayıcının saklamayı reddettiği bir oturum çerezi (OAuth, Supabase Auth, NextAuth). Bkz. Düzeltme 8
Yönlendirme Döngüsü Nasıl Teşhis Edilir
Düzeltmeleri denemeden önce, tam yönlendirme zincirini belirleyin. Bu, hangi URL'lerin dahil olduğunu ve hangi yönlendirme kurallarının döngüye neden olduğunu tam olarak gösterir.
Yöntem 1: curl ile Yönlendirmeleri İzleyin
Yönlendirme zincirini görmenin en hızlı yolu terminalden curl kullanmaktır. -I bayrağı yalnızca başlıkları alır, -L yönlendirmeleri takip eder ve --max-redirs takip edilecek sayıyı sınırlar:
# Trace redirect chain (limit to 10 hops)
curl -ILs --max-redirs 10 https://example.com 2>&1 | grep -i 'HTTP/\|location:'
# Example output showing a redirect loop:
# HTTP/2 301
# location: http://example.com/
# HTTP/1.1 301 Moved Permanently
# Location: https://example.com/
# HTTP/2 301
# location: http://example.com/
# (repeats...)Location başlıklarında aynı iki URL'nin dönüşümlü olarak göründüğünü görüyorsanız, yönlendirme döngüsünü doğrulamış olursunuz. Durum kodlarına dikkat edin: 301, tarayıcıların önbelleğe aldığı kalıcı bir yönlendirmedir; 302 ise yanıt aksini belirtmedikçe önbelleğe alınmayan geçici bir yönlendirmedir.
Her Location başlığındaki şemayı izleyin: aynı URL'nin http:// ve https:// sürümleri arasındaki döngü en yaygın kalıptır ve doğrudan bir SSL ayarına işaret eder.
Yöntem 2: Tarayıcı Geliştirici Araçları Ağ Sekmesi
Chrome Geliştirici Araçları'nda yönlendirmeleri görsel olarak da izleyebilirsiniz:
- Adım 1 — Chrome Geliştirici Araçları'nı
F12veyaCtrl+Shift+I(Mac:Cmd+Option+I) ile açın - Adım 2 — Network sekmesine gidin ve Preserve log seçeneğini işaretleyin (yönlendirmeler arasında kayıtları korur)
- Adım 3 — Hatayı tetikleyen sayfayı yükleyin
- Adım 4 — İstek sırasını inceleyin. Her yönlendirme 301 veya 302 durumuyla ayrı bir giriş olarak görüntülenir. Location sütunu her yönlendirmenin nereye gittiğini gösterir
Network sekmesi tüm yönlendirme zincirini kronolojik olarak gösterir. Kalıbı göreceksiniz — genellikle iki veya üç URL döngüsel olarak tekrarlanır. DNS Robot'un HTTP Başlık Kontrolü ile tarayıcı önbelleğiniz dışından yanıt başlıklarını inceleyebilirsiniz.
Yöntem 3: Yönlendirme Kontrolü (Çevrimiçi)
Terminaliniz yoksa URL'yi DNS Robot'un Yönlendirme Kontrolü'ne yapıştırın. Her atlamayı sunucumuzdan takip eder, her durum kodunu ve Location başlığını gösterir ve zincir kendi üzerine döndüğünde bunu söyler. Tarayıcınızın çerezleri olmadan çalıştığı için döngünün sitede mi yoksa tarayıcınızda mı olduğunu hemen anlarsınız.
Düzeltme 1: Tarayıcı Çerezlerini ve Önbelleği Temizleyin
En basit düzeltmeyle başlayın. Tarayıcınızdaki eski çerezler veya önbelleğe alınmış yönlendirmeler, sunucu yapılandırması doğru olsa bile döngülere neden olabilir. Bu durum özellikle bir sitenin HTTP'den HTTPS'ye geçişinden sonra yaygındır — eski çerezler hâlâ HTTP URL'lerine başvuruyor olabilir.
Chrome'da Çerezleri Temizleyin
Tüm çerezler yerine belirli bir sitenin çerezlerini temizleyin — böylece diğer sitelerdeki oturum bilgileriniz korunur:
- Adım 1 — Adres çubuğunda URL'nin yanındaki kilit simgesine (veya ayar simgesine) tıklayın
- Adım 2 — Site ayarları'na tıklayın
- Adım 3 — Yalnızca o site için çerezleri ve önbelleğe alınmış verileri kaldırmak üzere Verileri sil'e tıklayın
- Adım 4 — Sayfayı yeniden yükleyin
# Chrome keyboard shortcut to open Delete browsing data:
# Windows/Linux: Ctrl + Shift + Delete
# macOS: Cmd + Shift + DeleteYa da tüm siteler için her şeyi silin: Tarama verilerini sil penceresini açmak için Ctrl+Shift+Delete (Mac: Cmd+Shift+Delete) tuşlarına basın, Çerezler ve diğer site verileri ile Önbelleğe alınan resimler ve dosyalar seçeneklerini işaretleyin, Tüm zamanlar'ı seçin ve Verileri sil'e tıklayın.
Firefox ve Safari'de Çerezleri Temizleyin
Firefox: Ctrl+Shift+Delete (Mac: Cmd+Shift+Delete) tuşlarına basın, Çerezler ve site verileri ile Geçici önbelleğe alınmış dosyalar ve sayfalar seçeneklerini işaretleyin, zaman aralığını Her şey olarak ayarlayın ve Temizle'ye tıklayın.
Safari: Safari > Ayarlar > Gizlilik > Web Sitesi Verilerini Yönet yolunu izleyin, etkilenen alan adını arayın, seçin ve Sil'i tıklayın. Ardından Cmd+Option+E ile önbelleği temizleyin.
Çerezleri silmek sorunu çözüyorsa sunucudaki bir yönlendirme kuralı yakın zamanda değişmiştir ve tarayıcınız hâlâ eski durumu taşıyordu. Yeni oturumu olan ziyaretçiler bu hatayı hiç görmeyebilir.
mail.google.com veya accounts.google.com Sizi Çok Fazla Kez Yönlendirdi (Gmail, Google Drive)
Mesajda accounts.google.com, mail.google.com veya drive.google.com geçiyorsa (örneğin "Bu sayfa çalışmıyor. mail.google.com sizi çok fazla kez yönlendirdi. Çerezlerinizi silmeyi deneyin."), döngü bozuk bir web sitesinden değil, Google'ın oturum açma sayfaları ile tarayıcınızın çerezleri arasındaki etkileşimden kaynaklanır. Google'da oturum açma yalnızca tarayıcı Google'ın çerezlerini sakladığında çalışır; bu yüzden onları engelleyen veya değiştiren her şey sizi döngüye sokar:
- Yalnızca Google'ın çerezlerini silin —
chrome://settings/content/alladresini açın,google.comarayın, verilerini silin ve tekrar oturum açın. Google'ın yardım sayfasının belirttiği gibi, ardından o tarayıcıda Google Hesabınızda yeniden oturum açmanız gerekir - Google için çerezlere izin verin — google.com'u çerez kullanmasına izin verilmeyen site listelerinden çıkarın (Chrome'da "Cihazınıza veri kaydetmesine izin verilmiyor"); üçüncü taraf çerezlerini engelliyorsanız
[*.]google.comadresini "Üçüncü taraf çerezlerini kullanmasına izin verilen siteler" bölümüne ekleyin (Chrome: Ayarlar → Gizlilik ve güvenlik → Üçüncü taraf çerezleri) - Tüm hesaplardan çıkış yapın, sonra tek bir hesapla oturum açın — oturum açılmış birkaç hesap ya da oturum açmayı şirketin kendi giriş sayfasına devreden bir iş hesabı sizi ikisi arasında gidip getirebilir
- Çerez ve gizlilik uzantılarını kapatın — oturum açma sırasında çerezleri silen veya değiştiren uzantılar sık görülen bir tetikleyicidir. Chrome, siz izin vermedikçe uzantıları Gizli modda çalıştırmaz; bu yüzden önce bir Gizli pencere deneyin
Düzeltme 2: SSL/HTTPS Yapılandırmasını Kontrol Edin
SSL yapılandırma hatası, yönlendirme döngülerinin 1 numaralı nedenidir. En yaygın senaryo, CDN/proxy ile kaynak sunucu arasında HTTP veya HTTPS kullanımı konusundaki çakışmadır.
Tipik olarak şöyle gerçekleşir: CDN'niz kaynak sunucuya HTTP üzerinden bağlanır (SSL sonlandırmayı o halleder), ancak kaynak sunucuda HTTP'den HTTPS'ye yönlendirme vardır. Kaynak sunucu CDN'yi HTTPS'ye geri gönderir, CDN HTTPS'yi kaldırıp tekrar HTTP gönderir — sonsuz döngü.
Aynı yapının arkasındaki bozuk bir sertifika ise farklı bir hata gösterir; bkz. ERR_SSL_PROTOCOL_ERROR ve "Bağlantınız gizli değil".
- SSL sertifikanızı kontrol edin — DNS Robot'un SSL Sorgulama'yı kullanarak sertifikanızın geçerli olduğunu, süresinin dolmadığını ve doğru alan adını kapsadığını doğrulayın
- Protokolleri eşleştirin — CDN'niz SSL'i sonlandırıyorsa, kaynak sunucudaki HTTP-HTTPS yönlendirmesini kaldırın veya CDN'yi kaynak sunucuya HTTPS üzerinden bağlanacak şekilde yapılandırın
- HTTPS zorlama ayarlarını kontrol edin — Hem sunucu seviyesinde (Nginx/Apache) hem de CDN seviyesinde HTTPS zorlama varsa, birini kaldırın
- X-Forwarded-Proto başlığını doğrulayın — Bir proxy arkasındayken, kaynak sunucunuz orijinal isteğin HTTPS olup olmadığını belirlemek için ham bağlantı protokolü yerine bu başlığı kontrol etmelidir
Düzeltme 3: Cloudflare Yönlendirme Döngülerini Düzeltin
Cloudflare en yaygın tetikleyicidir, çünkü şifreleme modu sunucunuza HTTP üzerinden mi yoksa HTTPS üzerinden mi bağlanacağını belirler. Cloudflare'ın sorun giderme sayfası (Eylül 2026'da güncellendi), her biri kaynak sunucunuzun yaptığı bir şeyle çakışan ve döngü oluşturan beş ayarı listeler:
| Cloudflare ayarı | Döngü oluşur, sunucunuz… | Çözüm |
|---|---|---|
| SSL/TLS modu Flexible | HTTP'yi HTTPS'ye yönlendiriyorsa (Cloudflare ona HTTP üzerinden bağlanır) | Modu Full (strict) yapın veya sunucudaki HTTPS yönlendirmesini kaldırın |
| Full veya Full (strict) | HTTPS'yi tekrar HTTP'ye yönlendiriyorsa | Sunucudaki HTTP yönlendirmesini kaldırın |
| Always Use HTTPS | HTTPS'yi HTTP'ye yönlendiriyorsa | Sunucudaki HTTP yönlendirmesini kaldırın veya bu ayarı kapatın |
| HSTS | HTTPS'yi HTTP'ye yönlendiriyorsa veya şifreleme modu Off ise | HTTP yönlendirmesini kaldırın ve modu Flexible veya daha üstünde tutun |
| Redirect Rules / Page Rules | iki kural isteği ileri geri gönderiyorsa (HTTP ↔ HTTPS, www ↔ www'siz) | Çakışan kuralları silin veya birleştirin |
Cloudflare yönlendirme döngüsünün olağan çözümü: SSL/TLS şifreleme modunu Flexible'dan Full veya Full (Strict)'e değiştirin. Bu, Cloudflare'a kaynak sunucuya HTTPS üzerinden bağlanmasını söyleyerek HTTP-HTTPS döngüsünü ortadan kaldırır.
Adım Adım Cloudflare Düzeltmesi
- Adım 1 — Cloudflare paneline giriş yapın
- Adım 2 — Alan adınızı seçin
- Adım 3 — SSL/TLS > Overview bölümüne gidin
- Adım 4 — Kaynak sunucunuzda geçerli bir sertifika varsa (ücretsiz Cloudflare Origin CA sertifikası da sayılır) şifreleme modunu Full (strict) olarak, yalnızca sertifika kendinden imzalıysa Full olarak değiştirin
- Adım 5 — SSL/TLS > Edge Certificates bölümüne gidin ve Always Use HTTPS seçeneğinin etkin olup olmadığını kontrol edin. Kaynak sunucunuz zaten HTTPS'ye yönlendiriyorsa, çift yönlendirmeyi önlemek için bunu devre dışı bırakın
- Adım 6 — Page Rules ve Redirect Rules bölümlerinde çakışan URL yönlendirmeleri olup olmadığını kontrol edin
- Adım 7 — Cloudflare önbelleğini temizleyin: Caching > Configuration > Purge Everything
Düzeltme 4: .htaccess Yönlendirme Kurallarını Düzeltin (Apache)
Apache sunucularda .htaccess, yönlendirme kurallarının en yaygın konumudur ve yönlendirme döngülerinin en sık kaynaklandığı yerdir. Çakışan kurallar, yinelenen yönlendirmeler veya eksik koşul kontrolleri döngülere neden olabilir.
- Yinelenen HTTPS yönlendirmelerini kontrol edin — Hosting paneliniz (cPanel, Plesk) HTTPS'yi zorluyorsa, .htaccess'teki manuel yönlendirmeyi kaldırın
- RewriteCond koşullarını kontrol edin — Yönlendirme yapan her RewriteRule'un, zaten eşleşen URL'lerde tetiklenmesini önleyen bir RewriteCond'u olmalıdır. Bu olmadan kural, yönlendirilen dahil her istekte tetiklenir
- [L] bayrağına dikkat edin —
[L]bayrağı 'son kural' anlamına gelir ancak yalnızca mevcut geçiş için. Bir alt dizinde başka bir.htaccessvarsa tekrar çalışır. Apache 2.4+'te bunun yerine[END]kullanın - Proxy başlıklarını kontrol edin — CDN arkasında, orijinal protokolü algılamak için
%{HTTPS}yerine%{HTTP:X-Forwarded-Proto}kullanın
# Correct HTTPS redirect behind Cloudflare/CDN:
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]Hangi kuralın döngüye neden olduğundan emin değilseniz, .htaccess dosyasını geçici olarak .htaccess.bak olarak yeniden adlandırın ve sitenin yüklenip yüklenmediğini test edin. Yükleniyorsa sorun .htaccess dosyasındadır. Kuralları tek tek yeniden etkinleştirerek soruna neden olan kuralı bulun.
Düzeltme 5: WordPress Yönlendirme Döngülerini Düzeltin
WordPress yönlendirme döngüleri genellikle üç kaynaktan gelir: Ayarlardaki eşleşmeyen URL'ler, eklenti çakışmaları veya yanlış wp-config.php değerleri. Yönlendirme döngüsü nedeniyle WordPress yönetim paneline erişemiyorsanız, veritabanı veya yapılandırma dosyaları üzerinden doğrudan düzeltmeniz gerekir.
WordPress URL Ayarlarını Kontrol Edin
WordPress'te eşleşmesi gereken iki URL ayarı vardır: Ayarlar > Genel'deki WordPress Adresi (URL) ve Site Adresi (URL). Biri http:// diğeri https:// kullanıyorsa veya biri www. içerip diğeri içermiyorsa yönlendirme döngüsü oluşur.
Yönetim paneline erişemiyorsanız, URL'leri wp-config.php dosyasında sabit olarak tanımlayın:
// Add these lines to wp-config.php (above "That's all, stop editing!"):
define('WP_HOME', 'https://example.com');
define('WP_SITEURL', 'https://example.com');
// If behind a reverse proxy (Cloudflare, Nginx proxy):
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https') {
$_SERVER['HTTPS'] = 'on';
}Çakışmaları Bulmak İçin Eklentileri Devre Dışı Bırakın
Yönlendirme ve önbellekleme eklentileri sık karşılaşılan suçlulardır. Redirection, Yoast SEO, Really Simple SSL, WP Super Cache ve W3 Total Cache gibi eklentiler, sunucu veya CDN ayarlarıyla çakışan yönlendirme kuralları ekleyebilir.
Yönetim paneline erişemiyorsanız, FTP veya SSH ile tüm eklentileri devre dışı bırakın:
# Rename the plugins folder to disable all plugins at once:
cd /var/www/html/wp-content/
mv plugins plugins.bak
# If the site loads, rename it back and disable plugins one by one:
mv plugins.bak plugins
# Then rename individual plugin folders to find the culprit:
mv plugins/really-simple-ssl plugins/really-simple-ssl.bakEklentileri devre dışı bırakmak hatayı düzeltiyorsa, çakışan eklentiyi belirlemek için tek tek yeniden etkinleştirin. En yaygın suçlular, sunucu veya CDN zaten bunu hallederken HTTP-HTTPS yönlendirmesi ekleyen SSL eklentileridir.
Düzeltme 6: Sunucu Seviyesi Yönlendirmeleri Düzeltin (Nginx ve Apache)
Sunucu yapılandırma dosyaları, uygulama seviyesi yönlendirmeler (WordPress, .htaccess) veya CDN ayarlarıyla çakışan yönlendirme kuralları içerebilir.
Nginx: Yönlendirme Çakışmalarını Kontrol Edin
Nginx yönlendirme döngüleri genellikle HTTP server bloğu HTTPS'ye yönlendirirken HTTPS bloğundaki bir şeyin HTTP'ye geri yönlendirmesi durumunda oluşur. Site yapılandırmanızı kontrol edin:
# Correct Nginx HTTPS redirect (separate server blocks):
server {
listen 80;
server_name example.com www.example.com;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl;
server_name example.com;
# SSL certificate configuration here
# DO NOT add another redirect to HTTPS here
}
# If behind Cloudflare/proxy, check real protocol:
server {
listen 80;
server_name example.com;
if ($http_x_forwarded_proto != 'https') {
return 301 https://example.com$request_uri;
}
}Düzenlemeden sonra sözdizimi hatalarını yakalamak için nginx -t komutunu, ardından değişikliği kesinti olmadan uygulamak için systemctl reload nginx komutunu çalıştırın.
Apache: VirtualHost Yönlendirmelerini Kontrol Edin
Apache'de hem VirtualHost yapılandırmasını hem de .htaccess dosyasını kontrol edin. VirtualHost yapılandırmasındaki bir yönlendirme ile .htaccess'teki bir yönlendirme birleştiğinde döngüye neden olabilecek çift yönlendirme oluşturur:
# Check Apache config for redirect rules:
grep -r 'Redirect\|RewriteRule' /etc/apache2/sites-enabled/
grep -r 'Redirect\|RewriteRule' /etc/httpd/conf.d/
# Check .htaccess:
cat /var/www/html/.htaccess | grep -i 'rewrite\|redirect'Yinelenen yönlendirmeleri kaldırın — yönlendirmeyi yalnızca tek bir yerde tutun. En iyi uygulama, HTTPS yönlendirmelerini VirtualHost yapılandırmasında (.htaccess'te değil) yönetmektir çünkü VirtualHost kuralları istek başına bir kez işlenirken .htaccess her istekte işlenir.
Düzeltme 7: Tarayıcıya Özel Sorun Giderme
Hata yalnızca bir tarayıcıda görünüyorsa, sorun büyük olasılıkla bir sunucu problemi değil, önbelleğe alınmış bir yönlendirme veya uzantı çakışmasıdır.
Chrome: HSTS ve Soket Havuzunu Temizleyin
Chrome, HTTPS'yi zorlayan HSTS (HTTP Strict Transport Security) politikalarını önbelleğe alır. Bir site daha önce HSTS başlığı göndermiş ancak artık HTTPS'yi doğru kullanmıyorsa, çerezleri temizledikten sonra bile Chrome HTTPS'ye yönlendirmeye devam eder.
- HSTS önbelleğini temizleyin —
chrome://net-internals/#hstsadresine gidin, Delete domain security policies altına alan adını yazın ve Delete'e tıklayın - Soket havuzlarını temizleyin —
chrome://net-internals/#socketsadresine gidin ve önbelleğe alınmış bağlantıları temizlemek için Flush socket pools'a tıklayın - DNS önbelleğini temizleyin —
chrome://net-internals/#dnsadresine gidin ve Clear host cache'e tıklayın (diğer yollar için DNS önbelleği temizleme yazısına bakın) - Gizli modda test edin — Gizli pencere (
Ctrl+Shift+N) açıp URL'yi deneyin. Gizli modda çalışıyor ancak normal pencerede çalışmıyorsa, önbelleğe alınmış bir yönlendirme veya uzantı sorundur
Firefox ve Safari Düzeltmeleri
Firefox: Adres çubuğuna about:config yazın, network.http.redirection-limit arayın ve 20 (varsayılan) olduğunu doğrulayın. Elle ya da bir kurumsal ilkeyle ayarlanan daha düşük bir değer, yönlendirmelerin daha erken başarısız olmasına yol açar. Ayrıca site verilerini temizlemeyi deneyin: Ayarlar > Gizlilik ve Güvenlik > Verileri yönet > alan adını arayın > Seçilenleri sil.
Safari: Safari, "Safari Sayfayı Açamıyor" başlığıyla "… açılmaya çalışılırken çok fazla yönlendirme oldu" mesajını gösterir; Web Inspector konsolu ise "Load cannot follow more than 20 redirections" der. Safari > Ayarlar > Gizlilik > Web Sitesi Verilerini Yönet yolundan alan adını bulun ve verilerini silin. Döngü sürerse özel pencerede deneyin: orada da döngü varsa site yanlış yapılandırılmıştır.
Düzeltme 8: Web Uygulamalarında Giriş Yönlendirme Döngüleri
Bir web uygulamasında döngü çoğu zaman kendi kodunuzdan gelir: oturum açmış kullanıcı gerektiren bir sayfa /login adresine yönlendirir ve bir şey /login'i (veya oturum açma callback'ini) doğrudan geri gönderir. Tarayıcı konsolu bunu başarısız istekte net::ERR_TOO_MANY_REDIRECTS olarak gösterir.
- Giriş sayfası da korunuyor — her rotada çalışan kimlik doğrulama middleware'i
/loginsayfasını ve callback rotasını da/login'e yönlendirir. Bunları kontrolün dışında bırakın - Oturum çerezi kaydedilmiyor —
SameSite=Noneile ayarlanan bir çerezinSecureda olması gerekir, aksi halde tarayıcı onu atar; yanlış alan adı için ayarlanan bir çerez ise hiçbir zaman geri gönderilmez. Her iki durumda da her istek hâlâ oturum kapalıymış gibi görünür - Callback URL'si eşleşmiyor — sağlayıcı (Google, GitHub, Supabase Auth) kullanıcıları uygulamanızın işlemediği bir callback adresine gönderir ve o rota tekrar girişe yönlendirir
- Proxy arkasında HTTP ile HTTPS — uygulama
X-Forwarded-Proto'yu yok saydığı için yönlendirme URL'lerinihttp://ile oluşturur: Düzeltme 2'deki döngünün bir katman yukarısı
// Next.js: proxy.ts (middleware.ts before Next.js 16).
// Never run the sign-in check on the sign-in pages themselves.
export const config = {
matcher: ["/((?!login|auth/callback|_next/static|_next/image|favicon.ico).*)"],
};Düzeltmeyi oturum kapalıyken Yönlendirme Kontrolü ya da curl -IL ile test edin: sağlıklı bir zincir başka bir yönlendirmeyle değil, giriş sayfasında 200 koduyla biter.
Yönlendirme Döngülerini Nasıl Önlersiniz
Acil hatayı düzelttikten sonra, yönlendirme döngülerinin tekrar oluşmasını önlemek için şu uygulamaları takip edin:
- Yönlendirmeyi yalnızca bir yerde yapın — HTTPS yönlendirmeniz için bir katman seçin: CDN, web sunucusu veya uygulama. Birden fazla katmanda aynı anda asla yönlendirme yapmayın
- Test sırasında 302 kullanın — Hata ayıklama sırasında 301 (kalıcı) yerine 302 (geçici) yönlendirme kullanın. Tarayıcılar 301'leri agresif şekilde önbelleğe alır, bu da değişiklikleri test etmeyi zorlaştırır. Yönlendirmenin doğru çalıştığını onayladığınızda 301'e geçin
- Her zaman curl ile test edin — Yönlendirme kuralı ekledikten sonra, yönlendirme zincirinin sonunda 200 yanıtıyla çözümlendiğini doğrulamak için
curl -ILs https://siteniz.com | grep -i 'HTTP/\|location:'komutunu çalıştırın - Araçlarla izleyin — Sitenizin beklenmeyen yönlendirmeler olmadan temiz bir 200 yanıtı döndürdüğünü doğrulamak için DNS Robot'un HTTP Başlık Kontrolü'nü düzenli olarak kullanın
- Yönlendirmelerinizi belgeleyin — Sunucu yapılandırması, .htaccess, CDN kuralları ve uygulama ayarlarındaki tüm yönlendirme kurallarının kaydını tutun. Birden fazla ekip üyesi siteyi yönettiğinde, belgelenmemiş yönlendirmeler döngülerin 1 numaralı nedenidir
- Değişikliklerden sonra CDN önbelleğini temizleyin — Herhangi bir yönlendirme kuralını değiştirdikten sonra CDN önbelleğinizi hemen temizleyin. Önbelleğe alınmış eski 301'ler günlerce kalıcı olabilir
Sağlıklı bir zincir en fazla bir veya iki atlama içerir (örneğin HTTP → HTTPS → 200 OK). Üç veya daha fazlası genellikle artık ihtiyacınız olmayan bir yönlendirme demektir.
Yönlendirme Döngülerinin SEO Üzerindeki Etkisi
Yönlendirme döngüleri sayfaları aramadan çıkarır. Google'ın tarama belgelerine göre Google'ın tarayıcıları (crawler) en fazla 10 yönlendirme atlamasını takip eder; döngü hiçbir zaman içeriğe ulaşmaz, bu yüzden Search Console bir yönlendirme hatası bildirir ve URL, döngü düzeltilene kadar dizinden düşer.
Uzun zincirler sona erseler bile maliyetlidir: her atlama, sayfa yüklenmeden önce tarayıcının ve Googlebot'un yapması gereken bir istek daha demektir; bu yüzden bağlantıları ve yönlendirmeleri doğrudan son URL'ye yöneltin.
- Dizinleme kaybı — Yönlendirme döngüsüne takılan sayfalar dizinlenmez ve arama sonuçlarından tamamen kaybolur
- Tarama bütçesi israfı — Googlebot, sınırlı tarama bütçesini gerçek içeriği taramak yerine yönlendirmeleri takip ederek harcar
- Daha yavaş sayfalar — Her atlama, herhangi bir içerik yüklenmeden önce bir istek ve bir gidiş-dönüş daha demektir; başka bir sunucuya (host) yapılan atlama ayrıca yeni bir bağlantı gerektirir
Yönlendirme zincirinizi şimdi kontrol edin
URL'yi DNS Robot'un ücretsiz Yönlendirme Kontrolü'ne yapıştırın: her atlamayı çerezleriniz olmadan sunucumuzdan izler, her durum kodunu ve Location başlığını gösterir ve zincir döngüye girdiğinde size söyler.



