PHP Script 404 Hatası Nedir?
404 hatası, bir kullanıcının web sunucusundan talep ettiği bir dosya veya sayfanın bulunamadığını gösteren HTTP durum kodudur. Bu hata genellikle PHP scriptleriyle ilgili aşağıdaki nedenlerden dolayı ortaya çıkar:
404 Hatasının Yaygın Nedenleri
- Yanlış URL:
- Kullanıcı ya da uygulama, var olmayan bir dosya veya yanlış bir URL çağırıyor olabilir.
- Eksik Dosyalar:
- PHP scriptine ait bazı dosyalar sunucudan silinmiş veya yanlış bir yere taşınmış olabilir.
- Hatalı .htaccess Dosyası:
- URL yönlendirmeleri yanlış yapılandırılmışsa, PHP scripti doğru sayfayı bulamaz.
- Scriptin Varsayılan Ayarları:
- PHP scriptinin yüklenmesi sırasında gereken bir ayar eksik veya yanlış yapılmış olabilir.
- Sunucu Ayarları:
- Apache, Nginx gibi web sunucusu yanlış yapılandırılmışsa veya PHP modülleri çalışmıyorsa.
- URL Rewriting (URL Yeniden Yazımı):
- Dinamik URL'leri SEO dostu hale getirmek için kullanılan "mod_rewrite" modülü etkin değilse.
404 Hatasını Düzeltme Adımları
1. URL'yi Kontrol Edin
2. Dosyaların Doğru Yerde Olduğunu Kontrol Edin
- Eksik Dosyalar:
Scriptin yüklenmesi sırasında eksik veya taşınmış dosyalar var mı kontrol edin.
- FTP ile kontrol edin: public_html veya www dizinine bakarak dosyaların yerinde olduğunu doğrulayın.
3. .htaccess Dosyasını Kontrol Edin
PHP scriptleri genellikle URL yapılandırması için .htaccess dosyasını kullanır. Yanlış yapılandırma 404 hatasına neden olabilir.
- Varsayılan .htaccess Kodu (Genel):
apache
Kodu kopyala
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php [L]
- .htaccess dosyasını düzenlerken dikkat edin:
- RewriteEngine On satırının aktif olduğundan emin olun.
- Dosya adlarının doğru yazıldığını kontrol edin.
- Eğer .htaccess dosyanız yoksa, bir metin düzenleyicisiyle yeni bir dosya oluşturup yukarıdaki kodu ekleyin.
4. PHP Scriptin Yapılandırmasını Kontrol Edin
5. Web Sunucusu Ayarlarını Kontrol Edin
- Apache Modülleri:
Apache sunucusu kullanıyorsanız, mod_rewrite modülünün etkin olduğundan emin olun:
bash
Kodu kopyala
sudo a2enmod rewrite
sudo systemctl restart apache2
- Nginx Sunucusu:
Nginx kullanıyorsanız, yapılandırma dosyasına PHP yönlendirmesini ekleyin:
nginx
Kodu kopyala
location / {
try_files $uri $uri/ /index.php?$query_string;
}
6. Hata Günlüklerini Kontrol Edin
- PHP veya sunucu hata günlüklerini inceleyin:
- cPanel'den erişim: Hata Günlükleri sekmesine bakın.
- Manuel kontrol: error_log dosyasını bulun.
Hata günlüklerinde şunları arayın:
- Eksik dosyalar (örn. file not found)
- URL yeniden yazımı hataları
7. Sunucu Ön Belleğini Temizleyin
- Sunucu veya tarayıcı önbelleği eski bir URL’yi çağırıyor olabilir.
- Tarayıcı önbelleği temizleyin.
- Sunucuda önbellek temizleme komutları kullanın (ör. Nginx için proxy_cache_purge).
8. PHP Scriptinizi Güncelleyin
- Kullandığınız scriptin eski bir sürümünde hata olabilir.
- Scriptin geliştiricisinin yayınladığı güncellemeleri kontrol edin.
- Güncellemeleri yaparken dosyalarınızı yedeklemeyi unutmayın.
9. Yerel Sunucuda Test Edin
Eğer 404 hatası devam ediyorsa, scriptinizi bir
yerel geliştirme ortamında (örn. XAMPP, WAMP) çalıştırarak sorunun sunucu veya yapılandırmadan mı kaynaklandığını kontrol edin.
Sık Karşılaşılan Sorunlar ve Çözümleri
- Hata: 404 Not Found ama dosyalar mevcut.
- Çözüm: .htaccess dosyasını yeniden oluşturun ve URL yönlendirmelerini kontrol edin.
- Hata: Dinamik URL’ler çalışmıyor.
- Çözüm: mod_rewrite modülünün etkin olduğundan emin olun ve doğru RewriteRule ayarını yapın.
- Hata: PHP scripti doğru yüklenmiş ama hata devam ediyor.
- Çözüm: config.php dosyasını inceleyin ve temel URL’yi (BASE_URL) doğru yapılandırın.
Sonuç
404 hataları genellikle dosya eksikliği, yanlış yapılandırma veya sunucu ayarlarından kaynaklanır. Yukarıdaki adımları izleyerek sorunu çözebilir ve PHP scriptinizi düzgün bir şekilde çalıştırabilirsiniz. Eğer sorun devam ederse, script geliştiricisine veya hosting sağlayıcınıza başvurabilirsiniz.