Mengatasi Error 404 Not Found pada Browser Router React JS

Mengatasi Error 404 Not Found pada Browser Router React JS

React JS merupakan sebuah library JavaScript yang banyak digunakan untuk membangun aplikasi web modern. Salah satu fitur yang disediakan oleh React JS adalah Browser Router yang memungkinkan aplikasi web untuk memiliki URL yang clean dan mudah dipahami atau akses oleh pengguna. Tapi, pada mode production, seringkali muncul masalah “404 Not Found” pada Browser Router yang dapat menghambat user experience. Pada artikel ini, kita akan membahas penyebab dan solusi untuk mengatasi error tersebut.

Pada artikel ini, saya akan membahas beberapa penyebab error 404 Not Found pada React JS Browser Router di mode production atau saat kalian depyo dan juga beberapa cara untuk mengatasi masalah tersebut.

Memahami Browser Router pada React JS

Sebelum masuk ke penyebab dan solusi error 404 pada Browser Router React JS, kita perlu memahami terlebih dahulu apa itu Browser Router dan bagaimana cara Browser Router bekerja. Browser Router pada React JS adalah fitur yang memungkinkan pengguna untuk menggunakan URL yang clean dan mudah dipahami dalam navigasi aplikasi web. Setiap URL akan memiliki component tertentu yang akan ditampilkan oleh aplikasi web sesuai dengan URL yang diakses oleh user.

Error 404 Not Found pada Browser Router

Error 404 Not Found pada React JS Browser Router terjadi ketika user mengakses URL yang tidak terdaftar dalam aplikasi web atau ketika aplikasi web tidak bisa menemukan halaman yang sesuai dengan URL yang diakses. Error ini terutama terjadi pada mode production karena pada mode ini, aplikasi web di-hosting pada server yang berbeda, sehingga konfigurasi server perlu disesuaikan agar Browser Router dapat berfungsi dengan baik.

Penyebab error 404 Not Found pada React JS Browser Router

Beberapa penyebab error 404 Not Found pada React JS Browser Router di mode produksi antara lain:

  1. Cache browser yang tidak terhapus
    Cache browser dapat menjadi penyebab error 404 Not Found pada React JS Browser Router di mode produksi. Hal ini terjadi ketika pengguna mencoba mengakses halaman yang sudah dihapus atau diubah namanya. Browser akan memuat halaman yang sudah disimpan di cache dan akan menampilkan error 404 Not Found.
  2. Konfigurasi server yang tidak tepat
    Konfigurasi server yang tidak tepat juga dapat menjadi penyebab error 404 Not Found pada React JS Browser Router di mode produksi. Hal ini terjadi ketika server tidak mendukung Browser Router atau konfigurasi server tidak diatur dengan benar.
  3. Masalah pada konfigurasi file .htaccess
    File .htaccess digunakan untuk mengatur konfigurasi server pada aplikasi web. Masalah pada konfigurasi file .htaccess dapat menyebabkan error 404 Not Found pada React JS Browser Router di mode produksi.

Cara Mengatasi Error 404 Not Found pada React JS Browser Router

Berikut adalah beberapa cara yang dapat dilakukan untuk mengatasi error 404 Not Found pada React JS Browser Router saat deploy atau di mode production:

  1. Menonaktifkan cache browser
    Cara pertama untuk mengatasi error 404 Not Found pada React JS Browser Router di mode production adalah dengan menonaktifkan cache browser. Kalian bisa melakukannya dengan menghapus cache browser pada pengaturan browser.Contoh penghapusan cache pada Google Chrome:

    • Klik pada tiga titik vertikal di kanan atas browser
    • Pilih “More Tools”
    • Pilih “Clear browsing data”
    • Pilih “Cached images and files”
    • Klik “Clear data”
  2. Mengatur homepage pada BrowserRouter
    Cara kedua adalah dengan mengatur homepage pada BrowserRouter. Pengguna dapat menambahkan tag “basename” pada BrowserRouter dan menambahkan nama folder pada path yang sesuai dengan homepage aplikasi.Contoh:

    import { BrowserRouter } from 'react-router-dom';
    
    <BrowserRouter basename={'/myapp'}>
      <App />
    </BrowserRouter>
    
  3. Menambahkan konfigurasi server-side rendering pada file .htaccess
    Cara ketiga adalah dengan menambahkan konfigurasi server-side rendering pada file .htaccess. Hal ini dilakukan dengan menambahkan beberapa baris kode pada file .htaccess.Contoh:

    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.html$ - [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.html [L]
  4. Menggunakan package “connect-history-api-fallback”
    Cara keempat adalah dengan menggunakan package “connect-history-api-fallback”. Package ini akan menangani setiap request yang tidak dikenali dan akan mengarahkan user ke halaman yang sesuai dengan React JS Browser Router.Contoh:

    const express = require('express');
    const history = require('connect-history-api-fallback');
    const app = express();
    
    app.use(history({
      disableDotRule: true,
      verbose: true
    }));
    

Kesimpulan

Error 404 Not Found pada React JS Browser Router di mode production bisa diatasi dengan beberapa cara seperti menonaktifkan cache browser, mengatur homepage pada BrowserRouter, menambahkan konfigurasi server-side rendering pada file .htaccess, dan menggunakan package “connect-history-api-fallback”. Penting untuk mengatasi error ini karena dapat mempengaruhi user experience saat mengakses aplikasi React JS.

Tapi sepengalaman saya, yang biasanya terjadi karena kurangnya konfigurasi pada file .htaccess, apalagi jika web server hosting menggunakan Apache, maka kemungkinan besar penyebabnya adalah karena belum konfigurasi file .htaccess.

Pada artikel ini, saya telah memberikan penjelasan tentang penyebab error 404 Not Found pada React JS Browser Router di mode production atau saat mendeploy aplikasi web dan juga beberapa cara untuk mengatasinya. Semoga artikel ini dapat membantu pembaca dalam mengatasi masalah tersebut.

1 Komentar

  1. makasih banyak bg, udah bingung banget pas ngehosting di apache kok menu nya 404 mulu, bermanfaat bgt ini artikel

Tinggalkan Komentar

Your email address will not be published. Required fields are marked *