1/3
XenForo’da 404 Sorunları Nasıl Çözülür?
Kısaca özet
XenForo’da 404 hataları genelde şu sebeplerden çıkar:
- Yanlış / bozuk URL’ler (eski linkler, taşınmış konular)
- Friendly URL (güzel URL) ayar sorunları
- .htaccess veya nginx konfigürasyon hataları
- Taşınmış / silinmiş içerikler
- Yanlış yönlendirme (redirect) ayarları
Aşağıda adım adım kontrol edebileceğin bir rehber var.
1. Friendly URL (Güzel URL) Ayarını Kontrol Et
XenForo’da 404’lerin en klasik sebebi, sunucu mod_rewrite (Apache) veya eşdeğer ayarın (nginx) düzgün çalışmaması.
Kontrol etmen gerekenler:
- Yönetim paneline gir:
AdminCP → Yapılandırma → Güzel URL’ler - “Güzel URL’leri kullan” seçeneğini:
- Sunucunda mod_rewrite / rewrites düzgünse: Açık kullan
- Sunucunda ayarlı değilse veya emin değilsen: Kapalı yap ve tekrar dene
- Güzel URL’ler kapalıyken adresler şu şekilde görünür:
Kod:https://siteadi.com/index.php?threads/konu-basligi.123/
Eğer güzel URL kapalıyken 404 düzeliyor, açınca bozuluyorsa sorun %90 rewrite / .htaccess tarafındadır.
2. .htaccess Dosyasını Doğru Kullan
Apache kullanıyorsan XenForo’nun ana dizininde bir
.htaccess dosyası olmalı.Yapman gerekenler:
- XenForo paketindeki orijinal
.htaccessdosyasını ana dizine koy - İçeriğinin XenForo’nun orijinali ile aynı olduğundan emin ol
- FTP’de dosya adının gerçekten .htaccess (başında nokta ile) olduğundan ve
.txtvs ek uzantı almadığından emin ol
Örnek (XenForo 2 varsayılan parça)
.htaccess içinden kritik kısım genelde şöyle olur (örnek, birebir sürümüne göre değişebilir):
Kod:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*)$ index.php?$1 [NC,L,QSA]
Bu satırlar yoksa ya da bozulduysa, güzel URL’ler 404 üretir.
3. Sunucu Türüne Göre Kontrol (Apache / Nginx / LiteSpeed)
Apache / LiteSpeed:
- Hosting panelinden (genelde cPanel, Plesk vb.):
- mod_rewrite aktif mi sor (veya destek dökümanına bak)
- Alt dizine kurulu XenForo ise:
gibi,Kod:https://siteadi.com/forum/.htaccessdosyasının kurulum dizininde olduğundan emin ol
Nginx:
Nginx’te
.htaccess çalışmaz. server bloğuna uygun try_files kuralının eklenmiş olması gerekir. Örnek:
NGINX:
location / {
try_files $uri $uri/ /index.php?$uri&$args;
}
Eğer yönetilen bir hosting ise bu ayarı hosting desteğinin eklemesi gerekir.
4. Eski URL’ler ve Silinmiş İçerikler
404’ler bazen tamamen normaldir:
Silinen, taşınan, gizlenen (izinleri değişen) konular / forumlar / sayfalar için.
Kontrol et:
- 404 aldığın URL’ye AdminCP’den git:
- Konu ise: “Konu ID” kısmına bak (
threads/konu.123/içindeki 123 gibi) - O ID’li konu gerçekten var mı, çöp kutusunda mı, taşınmış mı?
- Konu ise: “Konu ID” kısmına bak (
- Silinmiş veya taşınmışsa:
- Mümkünse yeni konuma 301 yönlendirme ekle (SEO için)
Eğer çok sayıda eski URL varsa:
- Google Search Console → Sayfalar bölümünde 404’leri incele
- Önemli olanları yeni, en yakın içeriğe 301 yönlendir (htaccess, nginx veya XenForo yönlendirme eklentisiyle)
- Değersiz / spam / alakasız eski URL’leri olduğu gibi 404 bırakmak SEO açısından genelde sorun değildir
5. XenForo URL Yapısının Değiştirilmesi (Add-on, Özel Yapı)
URL yapısını değiştiren bir eklenti, custom route veya el ile yapılan kurallar da 404’e neden olabilir.
Şunlara bak:
- Yeni kurulu eklentiler (özellikle SEO, URL rewrite, çok dil eklentileri)
- Yakın zamanda yaptığın:
- route değişiklikleri
src/config.phpiçine eklenen özel tanımlar
- Son dönemde ne yaptıysan tek tek geri alıp test et (sorun kesilene kadar)
6. Domain / Dizini Taşıdıysan
- Siteyi alt dizinden ana dizine (ya da tersi) taşıdıysan:
src/config.phpiçindeki$config['fullBaseUrl']değeri varsa güncel olmalı
- Yeni domain veya alt domaine geçtiysen:
- AdminCP → Genel seçenekler → Forum URL’si ayarının güncel olduğuna bak
Örnek
config.php satırı:
PHP:
$config['fullBaseUrl'] = 'https://yeni-domain.com/forum';
Yanlışsa bazı URL’ler yanlış yere gider ve 404 üretir.
7. 404’leri Takip Etme (Log & SEO Açısından)
- Google Search Console → Sayfalar kısmından:
- Hangi 404’ler yoğun?
- Harici sitelerden gelen bozuk link var mı?
- Sunucu error/access log’larından:
- Sürekli tekrar eden belli bir pattern var mı (
/index.php?something=1gibi)
- Sürekli tekrar eden belli bir pattern var mı (
- Önemli, trafik alan URL’leri 301 ile en uygun sayfaya yönlendirmek SEO için faydalıdır
Özet
- Önce Friendly URL ayarını kapatıp açarak, sorunun rewrite/.htaccess kaynaklı olup olmadığını ayır.
- .htaccess veya nginx konfigürasyonunu XenForo’nun orijinal örneğine göre kontrol et.
- Taşınan / silinen içeriklerden kaynaklı normal 404’leri tespit et, gerekirse önemli olanlara 301 yönlendirme ekle.
- Son dönemde eklediğin eklenti, route veya taşınma işlemi varsa adım adım geri sararak sorunu bul.