Kode kesalahan 404 (Not Found) dan 403 (Forbidden) adalah dua status HTTP yang menunjukkan jenis masalah berbeda saat mencoba mengakses sumber daya di web. Berikut adalah perbedaannya:
Kode Kesalahan 404: Not Found
- Artinya: Server tidak dapat menemukan sumber daya yang diminta (misalnya, halaman atau file). Hal ini biasanya terjadi jika URL yang dimasukkan salah, sumber daya telah dihapus, atau tidak tersedia.
- Penyebab Umum:
- URL salah ketik.
- Halaman atau file telah dihapus dari server.
- Tautan rusak atau usang (broken link).
- Tanggapan Server: Server memberi tahu bahwa sumber daya yang diminta tidak ditemukan, tetapi tidak membatasi akses untuk mencarinya.
Kode Kesalahan 403: Forbidden
- Artinya: Server memahami permintaan Anda tetapi menolak memberikan akses ke sumber daya tersebut. Anda dilarang untuk mengaksesnya, meskipun sumber daya itu ada.
- Penyebab Umum:
- Hak akses tidak memadai (misalnya, Anda mencoba mengakses file tanpa izin).
- Konfigurasi server yang membatasi akses (misalnya, file
.htaccess
di Apache). - Pembatasan berbasis IP, wilayah, atau autentikasi.
- Tanggapan Server: Server mengakui keberadaan sumber daya, tetapi Anda tidak diizinkan untuk melihatnya.
Perbandingan Kunci:
Aspek | 404 (Not Found) | 403 (Forbidden) |
---|---|---|
Keberadaan | Sumber daya tidak ada di server. | Sumber daya ada, tetapi akses ditolak. |
Penyebab Utama | URL salah atau sumber daya dihapus. | Hak akses tidak memadai atau akses diblokir. |
Tanggapan Server | Tidak tahu tentang sumber daya yang diminta. | Memahami permintaan tetapi menolak akses. |
Contoh:
- 404: Anda mencoba mengakses
example.com/halaman-tidak-ada
. - 403: Anda mencoba mengakses
example.com/admin
, tetapi hanya pengguna dengan hak istimewa yang diizinkan.
Cara Mengatasi Masalah 404 & 403
Kode Kesalahan 404: Not Found
- Periksa URL/Permalinks : Pastikan URL yang dimasukkan benar, termasuk ejaan, huruf besar/kecil, dan simbol.
- Periksa File .htaccess: Berikut ini beberapa rule .htaccess , pilih sesuai cms/framework yang Anda gunakan.
Codeigniter
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L]—————————————————–
LARAVEL
Options -MultiViews -Indexes
RewriteEngine On
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]# Redirect Trailing Slashes If Not A Folder…
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]# Send Requests To Front Controller…
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]—————————-
WordPress
# BEGIN WordPress
RewriteEngine On
RewriteRule .* – [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
RewriteBase /
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]# END WordPress
3.Hapus Cache Browser
Cache lama bisa menyebabkan konflik. Hapus cache dan cookies, lalu coba lagi.
Kode Kesalahan 403 (Forbidden)
- Periksa Izin Akses: Pastikan Anda memiliki izin untuk mengakses halaman atau file. Hubungi admin situs jika diperlukan.
- Periksa Izin File dan Folder: Pastikan file atau folder yang diminta memiliki izin yang benar (misalnya, chmod 644 untuk file dan chmod 755 untuk folder di server Linux).
- Filter Modsecurity
Silakan mencoba menambahkan rule berikut pada .htaccess untuk menonaktifkan beberapa filter modsecurity
SecRuleEngine Off
SecFilterInheritance Off
SecFilterEngine Off
SecFilterScanPOST Off
Jika Tetap Bermasalah
404: Periksa dengan alat seperti Google Search Console untuk mengidentifikasi tautan yang rusak di situs Anda.
403: Periksa log server untuk mengetahui penyebab pasti (biasanya diakses melalui cPanel atau panel hosting lainnya).