URL Yönetimi ve Dinamik Rota Sisteminin Teknik Analizi
Sorun neydi? Admin panelinde Blog modülünün "Slug Ayarları" sayfasını açınca "Yapılandırma bulunamadı" hatası alınıyordu.
Neden oluyordu? Veritabanında modül adı blog (küçük harf) yazılıydı, ama sunucudaki klasör Blog (büyük B). Linux bu farkı önemsiyor.
Nasıl çözüldü? Sistem artık klasör ararken büyük-küçük harf farkını görmezden geliyor. Yani "blog" yazsan da "Blog" klasörünü buluyor.
// URL'den gelen değer $moduleName = 'blog'; // Oluşturulan path $path = "Modules/blog/config/config.php"; // Gerçek klasör Modules/Blog/ ← Büyük B! // Sonuç: Linux case-sensitive file_exists($path) = false ❌
// URL'den gelen değer $moduleName = 'blog'; // Case-insensitive arama $actual = findActualModuleName('blog'); // → 'Blog' bulundu! // Doğru path oluşturuldu $path = "Modules/Blog/config/config.php"; file_exists($path) = true ✓
Modules/ModuleManagement/App/Http/Livewire/ModuleSlugSettingsComponent.php
loadModuleData() metodu case-insensitive hale getirildi (satır 168-201)
app/Services/ModuleSlugService.php
findActualModuleName() helper metodu eklendi (satır 273-299)