# 🔧 Perbaikan Error 404 CSS File

## Masalah:
- Error 404 pada file CSS: `GET /dsp-report/rwl/medi_shipment_detail:586 net::ERR_ABORTED 404 (Not Found)`
- Path CSS yang dihasilkan oleh fungsi `getBaseUrl()` tidak sesuai dengan struktur direktori

## Akar Masalah:
Fungsi `getBaseUrl()` menggunakan `dirname($_SERVER['SCRIPT_NAME'], 3)` yang tidak menghasilkan path yang benar untuk sistem XAMPP dengan struktur folder `/dsp-report/`.

## Solusi:
### 1. Perbaikan Fungsi getBaseUrl() di RWL
**File:** `rwl/module/report/shipment_detail.php`

```php
// SEBELUM (Bermasalah):
function getBaseUrl() {
    $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
    $host = $_SERVER['HTTP_HOST'];
    
    // Try to detect if we're in a subfolder
    $script_name = $_SERVER['SCRIPT_NAME'];
    $base_dir = dirname($script_name, 3); // Go up three levels from module/report/file.php
    
    // Replace backslashes with forward slashes and normalize path
    $base_dir = str_replace('\\', '/', $base_dir);
    $base_dir = rtrim($base_dir, '/');
    
    // Fix for root installation (avoid double slash)
    if ($base_dir === '') {
        return $protocol . '://' . $host . '/';
    }
    
    return $protocol . '://' . $host . $base_dir . '/';
}

// SESUDAH (Perbaikan):
function getBaseUrl() {
    $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
    $host = $_SERVER['HTTP_HOST'];
    
    // For RWL system, we know the base path
    return $protocol . '://' . $host . '/dsp-report/';
}
```

### 2. Perbaikan Fungsi getBaseUrl() di PGN
**File:** `pgn/module/report/shipment_detail.php`

```php
// Perbaikan yang sama:
function getBaseUrl() {
    $protocol = isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? 'https' : 'http';
    $host = $_SERVER['HTTP_HOST'];
    
    // For PGN system, we know the base path
    return $protocol . '://' . $host . '/dsp-report/';
}
```

## Hasil:
- ✅ CSS file dapat diakses dengan benar
- ✅ Path CSS: `http://localhost/dsp-report/rwl/module/report/css/shipment_detail.css`
- ✅ Path CSS: `http://localhost/dsp-report/pgn/module/report/css/shipment_detail.css`
- ✅ Tidak ada lagi error 404 untuk file CSS
- ✅ Console error berkurang signifikan

## Keuntungan:
1. **Sederhana dan Reliable**: Path yang fix dan tidak bergantung pada deteksi otomatis
2. **Konsisten**: Sama untuk PGN dan RWL
3. **Mudah Maintenance**: Tidak perlu logika kompleks untuk mendeteksi path
4. **Performance**: Tidak ada overhead dari perhitungan path yang rumit

## File yang Diperbaiki:
- `rwl/module/report/shipment_detail.php` - Fungsi getBaseUrl()
- `pgn/module/report/shipment_detail.php` - Fungsi getBaseUrl()

## Status:
✅ **COMPLETED** - Error 404 CSS sudah teratasi
