WordPress ERR_TOO_MANY_REDIRECTS Hatası Nasıl Düzeltilir?
WordPress ERR_TOO_MANY_REDIRECTS hatasının nedenlerini ve çözüm yollarını öğrenin. SSL, Cloudflare, URL ayarları ve yönlendirme döngülerini düzeltin.
WordPress’te ERR_TOO_MANY_REDIRECTS hatası, bir web sitesinin ziyaretçiyi sürekli farklı adreslere yönlendirmesi ve tarayıcının sayfayı açamaması durumunda ortaya çıkar. Sorunun en yaygın nedenleri yanlış WordPress URL ayarları, çakışan HTTPS yönlendirmeleri, Cloudflare SSL yapılandırması ve yönlendirme eklentileridir. Hatayı gidermek için öncelikle tarayıcı verilerini kontrol etmek, ardından sitenin URL ve sunucu yapılandırmasını incelemek gerekir.
Bu hata yalnızca WordPress’e özgü değildir. Chrome’da ERR_TOO_MANY_REDIRECTS, Firefox’ta ise sayfanın düzgün yönlendirilmediğini belirten bir mesajla karşılaşabilirsiniz. Her iki durumda da temel sorun, tarayıcının hedef sayfaya ulaşamadan tekrar eden yönlendirmelerle karşılaşmasıdır.
ERR_TOO_MANY_REDIRECTS hatası nedir?
ERR_TOO_MANY_REDIRECTS, tarayıcının bir web sayfasına erişmeye çalışırken çok fazla HTTP yönlendirmesiyle karşılaşması sonucunda bağlantıyı durdurmasıdır. Normal koşullarda bir web sitesi ziyaretçiyi eski bir adresten yeni bir adrese veya HTTP sürümünden HTTPS sürümüne yönlendirebilir. Ancak yönlendirme kuralları birbiriyle çeliştiğinde sonsuz döngü oluşabilir.
Örneğin sunucunuz ziyaretçileri HTTP adresinden HTTPS adresine gönderirken, başka bir yapılandırma HTTPS adresini yeniden HTTP adresine yönlendiriyorsa tarayıcı iki adres arasında gidip gelir.
Benzer bir sorun www kullanılan ve kullanılmayan alan adları arasında da yaşanabilir. Bir sistem ziyaretçiyi www içeren adrese yönlendirirken diğeri www içermeyen adrese geri gönderiyorsa site açılmaz.
Bu hata, sitenin sunucusunun mutlaka kapalı olduğu anlamına gelmez. Çoğu durumda sunucu isteklere yanıt vermeye devam eder ancak yanlış yönlendirme kuralları nedeniyle ziyaretçi hedef içeriğe ulaşamaz.
WordPress ERR_TOO_MANY_REDIRECTS hatası neden olur?
WordPress sitelerinde yönlendirme döngüsüne yol açabilen başlıca nedenler şunlardır:
- WordPress Adresi ve Site Adresi değerlerinin yanlış yapılandırılması.
- HTTP ve HTTPS yönlendirmelerinin birbiriyle çakışması.
- Cloudflare SSL/TLS modunun sunucu yapılandırmasıyla uyumsuz olması.
- SSL, güvenlik, önbellek veya yönlendirme eklentilerinin çakışması.
- .htaccess dosyasında hatalı yönlendirme kuralları bulunması.
- Sunucu, CDN ve WordPress üzerinde aynı adrese farklı yönlendirmeler tanımlanması.
- Tarayıcıda eski yönlendirme çerezlerinin bulunması.
- Taşınan veya alan adı değiştirilen sitelerde eski adreslerin kullanılmaya devam etmesi.
Çözüm için rastgele bütün ayarları değiştirmek yerine sorunun hangi katmanda ortaya çıktığını belirlemek daha güvenlidir. Özellikle canlı ve ziyaretçi alan bir WordPress sitesinde dosya değişikliklerinden önce yedek almak önemlidir.
1. Tarayıcı çerezlerini ve önbelleğini temizleyin
İlk olarak hatanın yalnızca kullandığınız tarayıcıda görülüp görülmediğini kontrol edin. Bunun için sitenizi gizli pencerede veya farklı bir tarayıcıda açmayı deneyin.
Site başka bir tarayıcıda açılıyorsa mevcut tarayıcınızdaki çerezler veya önceden kaydedilmiş veriler soruna katkıda bulunuyor olabilir.
Google Chrome’da ilgili sitenin verilerini temizlemek için:
- Chrome’u açın ve sağ üst köşedeki üç nokta menüsüne tıklayın.
- Ayarlar bölümüne girin.
- Gizlilik ve güvenlik bölümünü açın.
- Site ayarları içerisindeki kayıtlı site verilerini görüntüleyin.
- Hata aldığınız alan adını bulun ve o siteye ait verileri temizleyin.
- Sayfayı yeniden açarak sorunun devam edip etmediğini kontrol edin.
Çerezleri silmek ilgili sitedeki oturumunuzu kapatabilir. Ayrıca tarayıcı verilerini temizlemek sunucu tarafındaki yönlendirme döngülerini düzeltmez. Hata farklı cihazlarda da görülüyorsa WordPress veya sunucu yapılandırmasını incelemeye devam edin.
2. WordPress URL ayarlarını kontrol edin
WordPress’te yanlış yapılandırılmış site adresleri, ERR_TOO_MANY_REDIRECTS hatasının önemli nedenlerinden biridir. WordPress yönetim paneline erişebiliyorsanız Ayarlar > Genel bölümünü açın.
Bu ekranda iki önemli alan bulunur:
- WordPress Adresi (URL): WordPress çekirdek dosyalarının bulunduğu adres.
- Site Adresi (URL): Ziyaretçilerin web sitesine erişmek için kullandığı adres.
Standart bir kök dizin kurulumunda bu iki alan genellikle aynı URL’yi içerir. Örneğin siteniz HTTPS üzerinden çalışıyorsa her iki alanda da doğru HTTPS adresi bulunmalıdır.
Ancak WordPress çekirdek dosyaları ayrı bir alt klasörde bulunuyorsa iki adresin farklı olması normaldir. Bu nedenle kurulum yapısını doğrulamadan adresleri zorla eşitlemeyin.
wp-config.php üzerinden WordPress URL ayarlarını düzeltme
Yönlendirme hatası nedeniyle WordPress yönetim paneline erişemiyorsanız URL değerlerini geçici olarak wp-config.php dosyasında tanımlayabilirsiniz.
- Hosting kontrol paneline giriş yapın.
- Dosya Yöneticisi üzerinden WordPress kurulum klasörünü açın.
- wp-config.php dosyasını bulun.
- Dosyanın yedeğini alın ve düzenleme ekranını açın.
- Aşağıdaki kodu kendi alan adınıza göre düzenleyin.
define( 'WP_HOME', 'https://example.com' );
define( 'WP_SITEURL', 'https://example.com' );
Bu satırlar, WordPress’in kullanacağı ana adresleri tanımlar. example.com yerine sitenizin gerçek alan adını yazın. HTTPS kullanıyorsanız sunucuda HTTPS bağlantısının doğru yapılandırıldığından emin olun.
Kodları wp-config.php dosyasında WordPress’in yüklenmesinden önce, genellikle /* That's all, stop editing! Happy publishing. */ yorumundan önce yerleştirin. Aynı sabitler zaten tanımlanmışsa ikinci kez eklemeyin.
Bu yöntem veritabanındaki kayıtlı adresleri kalıcı olarak değiştirmez; WordPress çalışırken ilgili değerleri geçersiz kılar. Sorun giderildikten sonra veritabanındaki home ve siteurl seçeneklerinin de doğru olup olmadığını kontrol edin.
3. Cloudflare SSL ve HTTPS ayarlarını düzeltin
WordPress sitenizde Cloudflare kullanıyorsanız ERR_TOO_MANY_REDIRECTS hatasının nedeni SSL/TLS şifreleme modu olabilir. Özellikle Cloudflare’da Flexible seçiliyken sunucu bütün HTTP isteklerini HTTPS’ye yönlendiriyorsa yönlendirme döngüsü oluşabilir.
Flexible modunda ziyaretçi ile Cloudflare arasındaki bağlantı HTTPS olabilir ancak Cloudflare ile kaynak sunucu arasındaki bağlantı HTTP üzerinden gerçekleştirilir. Sunucu bu HTTP isteğini tekrar HTTPS’ye yönlendirdiğinde aynı işlem sürekli tekrarlanabilir.
Cloudflare SSL ayarlarını kontrol etmek için:
- Cloudflare yönetim panelini açın.
- İlgili alan adını seçin.
- SSL/TLS bölümüne girin.
- Overview (Genel Bakış) ekranındaki şifreleme modunu kontrol edin.
- Sunucunuzun SSL sertifikası ve HTTPS yapılandırması uygunsa Full (strict) modunu tercih edin.
- Değişiklik sonrasında sitenizin yönlendirme davranışını yeniden test edin.
Full (strict), kaynak sunucuyla şifreli bağlantı kurar ve sunucunun sertifikasını doğrular. Bu modun çalışması için kaynak sunucuda uygun bir SSL sertifikası bulunmalıdır. Sertifika koşulları karşılanmıyorsa doğrudan Full (strict) seçmek farklı bağlantı hatalarına yol açabilir.
Ayrıca Cloudflare üzerindeki Always Use HTTPS, Redirect Rules ve eski Page Rules yapılandırmalarını kontrol edin. Cloudflare, sunucu ve WordPress eklentilerinin birbirine zıt yönlendirmeler yapmadığından emin olun.
Örneğin Cloudflare www içermeyen alan adına yönlendirirken sunucu www içeren alan adına geri yönlendiriyorsa SSL ayarınız doğru olsa bile döngü devam edebilir.
4. WordPress önbelleğini temizleyin
Önbellek sistemleri bazı yönlendirme yanıtlarını saklayabilir. Bu nedenle URL veya SSL ayarlarını düzelttikten sonra önbelleği temizlemek gerekebilir.
WordPress yönetim paneline erişebiliyorsanız kullandığınız önbellek eklentisinin ayarlarını açın ve önbelleği temizleme seçeneğini kullanın.
WP Rocket, LiteSpeed Cache ve benzeri eklentilerde önbellek temizleme seçenekleri bulunur. Ayrıca hosting sağlayıcınızın sunucu önbelleği veya Cloudflare önbelleği etkinse ilgili katmanların da kontrol edilmesi gerekir.
Ancak önemli bir ayrıntı var: Önbelleği temizlemek yanlış yönlendirme kurallarını ortadan kaldırmaz. Sunucunuz hâlâ iki adres arasında yönlendirme yapıyorsa önbellek silindikten sonra da hata devam eder.
5. WordPress eklentilerini geçici olarak devre dışı bırakın
Bazı WordPress eklentileri HTTPS zorlaması, giriş sayfası güvenliği, alan adı yönlendirmesi veya URL düzenlemesi yapabilir. Birden fazla eklenti aynı işlemi farklı kurallarla gerçekleştirdiğinde yönlendirme döngüsü oluşabilir.
Özellikle SSL, güvenlik ve yönlendirme eklentileri yakın zamanda güncellendiyse ya da yeni bir eklenti kurulduktan sonra hata başladıysa bu ihtimali değerlendirin.
WordPress yönetim paneline erişemiyorsanız eklentileri dosya sistemi üzerinden geçici olarak devre dışı bırakabilirsiniz:
- Hosting Dosya Yöneticisi veya SFTP bağlantısıyla WordPress dosyalarına erişin.
wp-contentklasörünü açın.pluginsklasörünü bulun.- Klasörün adını geçici olarak
plugins-disabledşeklinde değiştirin. - Web sitenizi yeniden açmayı deneyin.
Site düzgün açılıyorsa sorun normal eklentilerden biriyle ilişkili olabilir. Klasörün adını yeniden plugins yapın ve eklentileri kontrollü biçimde tek tek etkinleştirerek sorumlu eklentiyi belirleyin.
Bu işlem bazı eklentilerin devre dışı kalmasına ve geçici işlev kaybına neden olabilir. Özellikle güvenlik, ödeme ve üyelik işlevleri bulunan canlı sitelerde değişiklikleri dikkatle uygulayın. Ayrıca zorunlu eklentiler ve sunucu düzeyindeki yönlendirmeler bu yöntemle devre dışı kalmayabilir.
6..htaccess dosyasındaki yönlendirmeleri kontrol edin
Apache veya uyumlu LiteSpeed sunucularında kullanılan.htaccess dosyası, WordPress’in kalıcı bağlantı ve yönlendirme kurallarını içerebilir. Yanlış eklenen HTTP, HTTPS veya alan adı yönlendirmeleri ERR_TOO_MANY_REDIRECTS hatasına yol açabilir.
Dosyayı kontrol etmek için şu adımları izleyin:
- Hosting kontrol panelindeki Dosya Yöneticisi’ni açın.
- WordPress’in kurulu olduğu dizine girin.
- Gizli dosyaların gösterildiğinden emin olun.
.htaccessdosyasını bulun ve yedeğini alın.- Dosyayı geçici olarak
.htaccess-backupşeklinde yeniden adlandırın. - Web sitesini tekrar açarak yönlendirme hatasının ortadan kalkıp kalkmadığını kontrol edin.
Dosya devre dışı bırakıldığında hata kayboluyorsa sorun büyük olasılıkla dosyadaki kurallardan biriyle ilişkilidir. Özellikle özel HTTPS, www ve eski alan adı yönlendirmelerini inceleyin.
Standart bir WordPress kök dizin kurulumunda kullanılabilen temel Apache yeniden yazma kuralları şöyledir:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule.* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME}!-f
RewriteCond %{REQUEST_FILENAME}!-d
RewriteRule. /index.php [L]
</IfModule>
# END WordPress
Bu kurallar yalnızca standart Apache tabanlı bir WordPress kurulumu için örnektir. Multisite, alt dizin kurulumu veya özel sunucu yapılandırmalarında farklı kurallar gerekebilir.
Önemli: Mevcut.htaccess dosyasının bütün içeriğini kontrol etmeden silmeyin. Dosyada güvenlik, erişim kısıtlaması veya özel yönlendirme kuralları bulunabilir. Yanlış bir değişiklik farklı hatalara yol açabilir.
WordPress yönetim paneline yeniden erişebiliyorsanız Ayarlar > Kalıcı Bağlantılar bölümünden mevcut ayarları kaydederek WordPress’in yeniden yazma kurallarını yenileyebilirsiniz. Bu işlem özel sunucu yönlendirmelerinin tamamını düzeltmez.
Nginx kullanan sunucularda.htaccess dosyası kullanılmaz. Bu sunucularda yönlendirme kuralları Nginx yapılandırmasında incelenmelidir.
7. Sunucu ve WordPress yönlendirme kurallarını karşılaştırın
Önceki yöntemler sorunu çözmediyse tarayıcının hangi adresler arasında yönlendirildiğini belirlemek gerekir. Böylece sorunun WordPress, sunucu veya CDN katmanından kaynaklanıp kaynaklanmadığı daha net anlaşılabilir.
Google Chrome’da F12 tuşuyla geliştirici araçlarını açın ve Network (Ağ) sekmesine geçin. Preserve log seçeneğini etkinleştirerek sayfayı yeniden yükleyin. HTTP 301, 302, 307 ve 308 yönlendirme yanıtlarını ve bunların Location başlıklarını kontrol edin.
Örneğin aynı iki adresin tekrar tekrar birbirine yönlendirildiğini görüyorsanız hangi kuralın bu davranışı oluşturduğunu araştırabilirsiniz.
Komut satırı kullanabiliyorsanız yönlendirme zincirini görmek için şu komuttan da yararlanabilirsiniz:
curl -I -L --max-redirs 10
Bu komut HTTP yanıt başlıklarını takip eder ve yönlendirme sayısını sınırlar. Bazı sunucular HEAD isteklerine GET isteklerinden farklı yanıt verebilir; bu nedenle sonucu tarayıcıdaki gerçek isteklerle karşılaştırmak faydalıdır.
Şu yapılandırmaları özellikle kontrol edin:
- HTTP adresinin HTTPS adresine yönlendirilmesi.
- www kullanılan ve kullanılmayan alan adları arasındaki yönlendirmeler.
- Cloudflare Redirect Rules ve diğer CDN kuralları.
- Apache veya Nginx sunucu yönlendirmeleri.
- WordPress eklentilerinin oluşturduğu 301 ve 302 yönlendirmeleri.
- Giriş sayfası, yönetici paneli veya oturum açma işlemlerine özel kurallar.
Aynı adresin birden fazla sistem tarafından farklı hedeflere yönlendirilmesi sorunun tekrar etmesine neden olabilir. Hedef, gerekli yönlendirmeleri kaldırmak değil, birbirleriyle çelişmeyen ve son noktaya ulaşan bir yönlendirme zinciri oluşturmaktır.
WordPress yönetim panelinde çok fazla yönlendirme hatası
Bazı durumlarda web sitesinin ana sayfası açılırken yalnızca /wp-admin/ veya /wp-login.php adresinde ERR_TOO_MANY_REDIRECTS hatası görülebilir.
Bu durum özellikle oturum çerezleri, giriş yönlendirmesi yapan güvenlik eklentileri, WordPress URL ayarları veya ters proxy yapılandırmasıyla ilişkili olabilir.
Yönetim paneline özel bir hata yaşıyorsanız önce ilgili alan adının çerezlerini temizleyin. Daha sonra WordPress URL değerlerini, giriş yönlendirmesi yapan eklentileri ve HTTPS yapılandırmasını kontrol edin.
WordPress bir ters proxy veya CDN arkasındaysa dışarıdan gelen HTTPS isteğinin sunucu ve WordPress tarafından doğru algılanması gerekir. Yanlış proxy başlıkları veya HTTPS algılama ayarları, özellikle yönetici panelinde tekrar eden yönlendirmelere neden olabilir.
Sorun yalnızca belirli bir eklenti etkin olduğunda ortaya çıkıyorsa o eklentinin ayarları üzerinde yoğunlaşın. PHP kaynaklı başka sorunlardan şüpheleniyorsanız WordPress debug modunu açma ve hata kayıtlarını inceleme yöntemlerinden de yararlanabilirsiniz. Ancak normal HTTP yönlendirmeleri PHP hata günlüğüne mutlaka kaydedilmez; yönlendirme zinciri için tarayıcı ağ kayıtları daha doğrudan bilgi sağlar.
ERR_TOO_MANY_REDIRECTS hatasını önlemek için ne yapılmalı?
WordPress’te yönlendirme hatasının tekrar oluşmasını önlemek için URL, SSL ve sunucu ayarlarının birbiriyle uyumlu olması gerekir.
- WordPress Adresi ve Site Adresi değerlerini doğru yapılandırın.
- HTTP ve HTTPS arasında çakışan yönlendirmeler oluşturmayın.
- Cloudflare SSL/TLS modunu sunucunuzun sertifika yapılandırmasına uygun seçin.
- Aynı yönlendirmeyi farklı eklentilerde ve sunucu katmanlarında çelişkili biçimde tanımlamayın.
- .htaccess veya Nginx yapılandırmasını değiştirmeden önce yedek alın.
- WordPress ve eklenti güncellemelerinden sonra kritik sayfaları kontrol edin.
- Site taşıma ve alan adı değişikliklerinde eski URL kayıtlarını dikkatle güncelleyin.
WordPress ERR_TOO_MANY_REDIRECTS hatası çoğunlukla yanlış yönlendirme veya SSL yapılandırmasından kaynaklanır. En etkili çözüm, sitenin hangi iki adres arasında döngüye girdiğini belirleyerek çakışan kuralı düzeltmektir. Böylece yalnızca hata mesajını geçici olarak ortadan kaldırmakla kalmaz, aynı sorunun tekrar yaşanma riskini de azaltabilirsiniz.