Laravel 403 Forbidden Hatası ve Çözüm Yöntemleri
Laravel projelerinde 403 Forbidden hatası, en sık karşılaşılan problemlerden biridir. Özellikle cPanel üzerinde WordPress gibi farklı CMS yazılımlarının kaldırılmasının ardından bu hata görülebilir.
Peki bu hatanın temel sebepleri nelerdir ve nasıl çözülür?
1. Index.php Dosyasının Eksikliği
Laravel’de tüm istekler public/index.php
üzerinden yönetilir. Bu dosya silinirse sunucu çalıştıracak bir dosya bulamaz ve 403 hatası verir.
✅ Çözüm: public_html/index.php
dosyasını tekrar oluşturun. İçeriği şu şekilde olmalıdır:
<?php
use Illuminate\Contracts\Http\Kernel;
use Illuminate\Http\Request;
define('LARAVEL_START', microtime(true));
require __DIR__.'/../vendor/autoload.php';
$app = require_once __DIR__.'/../bootstrap/app.php';
$kernel = $app->make(Kernel::class);
$response = $kernel->handle(
$request = Request::capture()
)->send();
$kernel->terminate($request, $response);
2. .htaccess Dosyasının Eksik veya Bozuk Olması
Laravel projeleri yönlendirme işlemleri için .htaccess
dosyasına ihtiyaç duyar. Eğer bu dosya eksikse veya yanlış kurallara sahipse, 403 hatası oluşur.
✅ Çözüm: public_html/.htaccess
içine aşağıdaki satırları ekleyin:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
3. PHP Sürümü ve Handler Sorunları
Bazı durumlarda WordPress kaldırıldıktan sonra PHP sürümü sıfırlanabilir. Laravel ise belirli sürümlerde çalışır (örneğin Laravel 9 için PHP 8.1).
✅ Çözüm: cPanel → Select PHP Version bölümünden doğru sürümü seçin.
4. Dosya ve Klasör İzinleri
Yanlış dosya izinleri de 403 hatasına sebep olabilir.
✅ Çözüm:
-
Klasörler: 755
-
Dosyalar: 644
-
storage
vebootstrap/cache
klasörleri: 775
SSH erişimi olanlar şu komutları kullanabilir:
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod -R 775 storage bootstrap/cache
403 Forbidden hatası genellikle basit ama kritik nedenlerden kaynaklanır: index.php’nin silinmesi, .htaccess’in bozuk olması, PHP sürümünün yanlış seçilmesi veya dosya izinlerinin hatalı olması.
Bu adımları uygulayarak Laravel projelerinizdeki sorunu hızlıca çözebilir ve sitenizi tekrar yayına alabilirsiniz.