404 Hatası Nedir?
Nginx'te 404 Hatası Alınması Neden Olur?
1. Yanlış URL Yapısı: URL'deki yazım hataları veya yanlış yönlendirmeler.
2. Eksik veya Silinmiş Dosyalar: Web sunucusundaki dosyanın yanlış bir şekilde silinmesi veya taşınması.
3. Yetersiz İzinler: Nginx'in erişmeye çalıştığı dosyalar veya dizinler için yetersiz okuma izinleri.
4. Yönlendirme Sorunları: .htaccess gibi yapılandırma dosyalarının yanlış yapılandırılması, sayfa yönlendirmelerinin hatalı olması.
5. Yanlış Nginx Konfigürasyonu: Sunucu yapılandırma dosyasındaki hatalar.
Bu durumlar 404 hatasına neden olabilir. Şimdi, her bir durumu detaylı olarak inceleyelim ve nasıl çözeceğimizi görelim.
1. Yanlış URL Yapısı
`http://siteadresi.com/sayfa_adı`
Ancak, yanlış yazım şunlara yol açabilir:
`http://siteadresi.com/sayfa-adı`
Bu durumda Nginx, doğru sayfayı bulamaz ve 404 hatası verir.
Çözüm: URL’nizi dikkatlice kontrol edin. Büyük/küçük harf uyumsuzluklarına, yazım hatalarına dikkat edin.
2. Eksik veya Silinmiş Dosyalar
Çözüm: Nginx loglarını inceleyin. `/var/log/nginx/error.log` dosyasındaki hataları kontrol edin. Dosyanın gerçekten eksik olup olmadığını kontrol edin ve eksikse tekrar yükleyin.
3. Yetersiz İzinler
Çözüm: Dosya izinlerini kontrol edin ve doğru bir şekilde ayarlayın.
Nginx’in çalıştığı kullanıcı (genellikle `www-data`) dosyaların okuma izinlerine sahip olmalıdır. Bunu şu komutla kontrol edebilirsiniz:
sudo chown -R www-data:www-data /var/www/html
sudo chmod -R 755 /var/www/html
4. Yönlendirme Sorunları
Çözüm: Nginx yapılandırma dosyanızda (`/etc/nginx/nginx.conf` veya ilgili site yapılandırma dosyasında) yönlendirmelerin doğru yapıldığından emin olun. Yanlış bir `rewrite` veya `redirect` kuralı 404 hatasına yol açabilir.
Örnek bir yönlendirme kuralı:
server {
listen 80;
server_name siteadresi.com;
location / {
try_files $uri $uri/ =404;
}
}
5. Yanlış Nginx Konfigürasyonu
Çözüm: Nginx konfigürasyon dosyasını kontrol edin ve yapılandırmaların doğru olduğundan emin olun. Özellikle `root` direktifini ve `server_name` ayarlarını gözden geçirin. Konfigürasyon dosyasını değiştirdikten sonra Nginx’i yeniden başlatmayı unutmayın:
sudo systemctl restart nginx
404 Hatasını Önlemek İçin İpuçları
2. Yönlendirmeleri Kullanın: Silinen veya taşınan sayfalar için 301 yönlendirmeleri ekleyin. Bu sayede kullanıcılar eski sayfalara yönlendirilebilir.
3. SEO Dostu URL’ler Kullanın: URL yapısının temiz ve anlaşılır olmasına dikkat edin. SEO açısından da bu önemlidir.