Perhatikan alamat yang Anda ketik saat membuka sebuah website. Anda mengetik contohwebsite.com, dan halaman utama langsung muncul. Padahal Anda tidak pernah menyebut nama berkas apa pun di alamat itu. Bandingkan dengan contohwebsite.com/kontak.html, yang jelas-jelas menunjuk ke sebuah berkas bernama kontak.html.

Alamat pertama sebenarnya menunjuk ke sebuah folder, bukan ke sebuah halaman. Folder bukanlah sesuatu yang bisa dikirim ke browser. Seseorang harus memutuskan berkas mana di dalam folder itu yang akan dikirimkan sebagai jawaban. Keputusan itulah yang selama ini dijalankan diam-diam oleh index.html.

Artikel ini membahas apa sebenarnya index.html, dari mana namanya berasal, dan di mana ia harus diletakkan. Kita juga akan membuatnya dari nol, lalu menelusuri bagian yang paling sering dicari: kenapa ia kadang tidak muncul meskipun berkasnya sudah ada.

Index.html Adalah Halaman yang Dibuka Tanpa Diminta

Index.html adalah berkas halaman utama yang secara otomatis dibuka web server ketika pengunjung mengakses sebuah folder tanpa menyebutkan nama berkas apa pun di alamatnya.

Di kalangan pengguna hosting, berkas ini lazim disebut file index. Sebutan itu berlaku untuk seluruh keluarganya — index.html, index.php, maupun index.htm — karena yang menyatukan mereka memang perannya, bukan ekstensinya.

Prosesnya berjalan dalam empat langkah singkat. Browser mengirim permintaan ke alamat contohwebsite.com/. Web server menerjemahkan alamat itu menjadi sebuah folder di dalam penyimpanannya. Server lalu membuka daftar nama berkas bawaan yang tertulis di konfigurasinya, dan mencari apakah ada berkas dengan nama itu di folder tersebut. Begitu index.html ditemukan, isinya dikirim ke browser seolah-olah pengunjung memang meminta berkas itu sejak awal.

Yang penting dipahami sejak awal: tidak ada yang istimewa di dalam index.html. Ia berkas HTML biasa, dengan tag yang sama persis dengan berkas .html lain di website Anda. Tidak ada sintaks rahasia, tidak ada penanda khusus di baris pertamanya. Yang membuatnya berperan sebagai halaman pembuka semata-mata namanya, dan nama itu dikenali karena kebetulan tertulis di daftar bawaan web server yang melayani website Anda.

Konsekuensi dari kalimat di atas: kalau Anda mengganti nama kontak.html menjadi index.html, halaman kontak itulah yang akan muncul saat orang membuka alamat utama. Server tidak membaca isinya, ia hanya mencocokkan nama.

Karena namanya yang menentukan, hubungan antara struktur URL dan struktur folder menjadi mudah ditebak. Alamat contohwebsite.com/produk/ menunjuk ke folder produk, dan berkas yang dikirim adalah produk/index.html. Alamat contohwebsite.com/produk/harga.html menunjuk langsung ke berkas harga.html di dalam folder yang sama.

Dari Mana Nama index.html Berasal

Banyak orang mengira nama ini ditetapkan oleh standar resmi web. Kenyataannya tidak. Tidak ada satu pun spesifikasi HTTP atau HTML yang mewajibkan nama index.html, dan sejarahnya justru menunjukkan sebaliknya.

Perilaku ini pertama kali hadir di NCSA HTTPd versi 0.3beta, yang dirilis pada 22 April 1993. Server buatan National Center for Supercomputing Applications itu secara bawaan menyajikan berkas index.html saat sebuah folder diakses. Itu keputusan desain satu tim, bukan hasil kesepakatan lintas organisasi.

Yang menarik justru langkah pesaingnya. CERN httpd — server yang dikembangkan di tempat lahirnya web — baru mengadopsi perilaku serupa pada versi 2.17beta, 5 April 1994. Namun nama yang didahulukan CERN bukan index.html. Catatan rilis resminya menyebutkan nilai bawaannya adalah Welcome.html dan welcome.html. Nama index.html ditambahkan belakangan, dan alasannya ditulis terus terang: "for compatibility with NCSA server", semata-mata demi kompatibilitas dengan server NCSA.

Jadi selama beberapa tahun di awal web, ada dua konvensi yang bersaing. index.html akhirnya menang bukan karena dipilih lewat spesifikasi, melainkan karena NCSA HTTPd jauh lebih banyak dipasang orang. Apache, yang lahir pada 1995 dari basis kode NCSA HTTPd, mewarisi kebiasaan itu dan menyebarkannya ke seluruh dunia.

Konsekuensi praktisnya besar. Karena index.html adalah konvensi dan bukan aturan, nama itu bisa diubah, dan memang diubah oleh sebagian penyedia. Inilah yang menjelaskan kenapa dua server berbeda bisa memberi hasil berbeda untuk folder yang isinya persis sama.

Setiap Web Server Punya Daftar Nama Bawaan Sendiri

Setiap web server menyimpan sebuah daftar nama berkas yang akan dicarinya saat sebuah folder diakses. Daftar ini berbeda-beda, dan mengetahui isi daftar di server Anda sendiri jauh lebih berguna daripada menghafal satu nama.

Kolom terakhir adalah nama pengaturan tempat daftar itu ditulis — sebuah directive pada Apache dan nginx, sebuah elemen XML pada IIS.

Web serverDaftar bawaanDiatur lewat
Apacheindex.htmlDirectoryIndex
nginxindex.htmlindex
IISDefault.htm, Default.asp, Index.htm, Index.html, Iisstart.htmdefaultDocument
Python http.serverindex.html, index.htmtidak bisa diubah

Perhatikan kolom IIS. Server buatan Microsoft ini mendahulukan Default.htm dan bahkan Default.asp sebelum sampai ke Index.html. Bila ASP.NET terpasang, Default.aspx ikut ditambahkan ke daftar itu. Perhatikan juga huruf kapital di awal nama — penulisan yang akan menjadi penting di bagian troubleshooting nanti.

Apache dan nginx mencari index.html; IIS mendahulukan Default.htm dan baru sampai Index.html di urutan keempat.
Apache dan nginx mencari index.html; IIS mendahulukan Default.htm dan baru sampai Index.html di urutan keempat.

Untuk memeriksa daftar yang benar-benar aktif di server Anda, gunakan salah satu perintah berikut. Pada server Apache:

Bash
grep -ri "DirectoryIndex" \
  /etc/apache2/ /etc/httpd/ 2>/dev/null

Pada server nginx, perintah berikut menampilkan seluruh konfigurasi yang sedang dipakai, lalu menyaring baris yang relevan:

Bash
nginx -T 2>/dev/null \
  | grep -E "^\s*index "

Keluarannya akan menunjukkan nama-nama apa saja yang dicari, lengkap dengan urutannya. Kalau Anda memakai hosting bersama dan tidak punya akses SSH, urutan ini biasanya dapat Anda baca dan ubah lewat berkas .htaccess di folder website Anda.

Urutan Daftar Menentukan index.html atau index.php yang Menang

Daftar bawaan jarang berisi satu nama saja. Di hosting yang mendukung PHP, index.php hampir selalu ikut terdaftar bersama index.html. Pertanyaannya kemudian: kalau satu folder berisi kedua berkas itu sekaligus, mana yang tampil?

Dokumentasi Apache menjawabnya dengan tegas. Bila beberapa nama didaftarkan, "the server will return the first one that it finds" — server mengembalikan berkas pertama yang ditemukannya. Pencarian berhenti di kecocokan pertama, dan sisa daftar tidak pernah diperiksa.

Artinya konfigurasi seperti ini:

APACHE
DirectoryIndex index.php index.html

akan selalu menampilkan index.php selama berkas itu ada, berapa pun umur atau ukuran index.html di sebelahnya. Balik urutannya, dan hasilnya ikut terbalik:

APACHE
DirectoryIndex index.html index.php

Ini penjelasan paling umum di balik keluhan "saya sudah unggah index.html tapi yang muncul halaman lama". Berkas lama tersebut hampir selalu bernama index.php, dan ia memenangi urutan.

DirectoryIndex index.php index.html menampilkan index.php; begitu urutannya dibalik, index.html yang tampil.
DirectoryIndex index.php index.html menampilkan index.php; begitu urutannya dibalik, index.html yang tampil.

Urutan juga punya biaya yang tidak langsung terlihat. Dokumentasi IIS mencatat biaya dari urutan yang keliru. Menaruh nama yang paling sering dipakai di posisi bawah memaksa server memeriksa setiap nama di atasnya lebih dulu — untuk setiap permintaan, di setiap folder. Pada website dengan banyak folder dan banyak pengunjung, pemeriksaan sia-sia itu menumpuk. Karena itu letakkan nama yang benar-benar Anda pakai di urutan paling depan.

Di Mana index.html Harus Diletakkan

Berkas ini harus berada di folder yang benar-benar dilayani web server, dan nama folder itu berbeda di setiap lingkungan.

  1. Hosting bersama dengan cPanel: public_html. Semua yang berada di luar folder ini tidak dapat diakses pengunjung.
  2. Server Ubuntu atau Debian dengan Apache: /var/www/html. Berkas bawaan yang Anda temukan di sana saat pertama memasang Apache adalah halaman sambutan default.
  3. XAMPP di Windows: htdocs, yang berada di dalam folder instalasi XAMPP.
  4. Proyek berbasis Vite: akar proyek, sejajar dengan package.json.

Setiap subfolder boleh memiliki index.html sendiri, dan justru itulah yang membentuk struktur alamat website Anda. Folder blog berisi index.html akan tampil sebagai contohwebsite.com/blog/, sementara blog/panduan.html tampil sebagai contohwebsite.com/blog/panduan.html. Struktur folder di penyimpanan dan struktur alamat di browser adalah bayangan satu sama lain.

Letak index.html: public_html di cPanel, /var/www/html di Ubuntu, htdocs di XAMPP, akar proyek di Vite.
Letak index.html: public_html di cPanel, /var/www/html di Ubuntu, htdocs di XAMPP, akar proyek di Vite.

Agar berkas ini dapat diakses publik lewat domain Anda sendiri, ia harus berada di server yang menyala sepanjang waktu. Di sinilah peran layanan web hosting: Anda mengunggah index.html ke public_html, mengarahkan domain ke server tersebut, dan halaman Anda dapat dibuka siapa saja. Pengunggahannya dapat dilakukan lewat File Manager di panel hosting, atau lewat klien FTP seperti FileZilla untuk berkas yang jumlahnya banyak.

Jangan letakkan index.html di dalam subfolder hasil ekstrak, misalnya public_html/website-saya/index.html, kecuali Anda memang menginginkan alamatnya menjadi contohwebsite.com/website-saya/. Kesalahan ini sangat sering terjadi setelah mengunggah berkas ZIP.

Yang Terjadi Kalau index.html Tidak Ada

Ketika server tidak menemukan satu pun file index dari daftar bawaannya, ada tiga kemungkinan hasil, dan ketiganya ditentukan oleh konfigurasi.

Kemungkinan pertama: daftar isi folder ditampilkan. Pada Apache, ini terjadi bila opsi Indexes aktif. Dokumentasinya menyebutkan server akan membuat sendiri daftar isi folder tersebut. Hasilnya adalah halaman putih polos berjudul "Index of /" yang memuat seluruh nama berkas di folder itu sebagai tautan:

HTML
<h1>Directory listing for /sub/</h1>
<hr>
<ul>
<li><a href="a.txt">a.txt</a></li>
</ul>

Kemungkinan kedua: 403 Forbidden. Bila opsi Indexes dimatikan (Options -Indexes), server menolak menampilkan apa pun dan mengembalikan pesan akses ditolak.

Kemungkinan ketiga: 404 Not Found. Ini perilaku IIS ketika default document dan directory browsing sama-sama dinonaktifkan.

Kemungkinan pertama adalah yang paling berbahaya. Daftar isi folder memperlihatkan nama setiap berkas kepada siapa pun yang membukanya. Termasuk di dalamnya berkas cadangan backup.sql, catatan config-lama.txt, atau arsip .zip yang Anda unggah lalu lupa hapus. Penyerang tidak perlu menebak nama berkas kalau servernya mengumumkan sendiri.

Tanpa index.html, server menampilkan daftar isi folder, 403 Forbidden, atau 404 — hanya yang pertama membocorkan nama berkas.
Tanpa index.html, server menampilkan daftar isi folder, 403 Forbidden, atau 404 — hanya yang pertama membocorkan nama berkas.

Ada dua cara menutupnya. Cara pertama, letakkan index.html kosong di setiap folder yang tidak dimaksudkan untuk dijelajahi; server akan menyajikan halaman kosong itu alih-alih daftar berkas. Cara kedua, matikan fitur tersebut secara menyeluruh lewat satu baris di .htaccess:

APACHE
Options -Indexes

Pengguna cPanel dapat melakukannya tanpa menyentuh berkas konfigurasi. Fitur Indexes di cPanel menyediakan empat pilihan — mewarisi pengaturan induk, tanpa penampilan daftar, menampilkan nama berkas saja, atau menampilkan nama beserta keterangannya. Langkahnya kami bahas terpisah di panduan Index Manager.

Membuat index.html Pertama Anda

Anda tidak membutuhkan perangkat lunak khusus. Berkas HTML adalah berkas teks biasa, dan editor teks apa pun sanggup membuatnya.

Langkah #1: Siapkan Folder Proyek

Buat satu folder baru dengan nama bebas, misalnya website-saya. Seluruh berkas website Anda akan berada di dalamnya. Hindari spasi dan huruf kapital pada nama folder untuk mengurangi kerumitan saat berkas ini nanti diunggah ke server Linux.

Langkah #2: Buat Berkas dengan Nama yang Persis

Buka editor teks Anda — Notepad bawaan Windows sudah memadai, meskipun Visual Studio Code jauh lebih nyaman karena memberi pewarnaan sintaks. Simpan berkas kosong dengan nama index.html di dalam folder tadi.

Pada Notepad, ubah pilihan Save as type menjadi All Files sebelum menyimpan. Bila langkah ini terlewat, Notepad diam-diam menambahkan .txt di belakang, dan berkas Anda menjadi index.html.txt. Nama itu tidak akan pernah dikenali server sebagai halaman index.

Langkah #3: Isi dengan Struktur HTML Minimal

Berikut kerangka yang dibutuhkan sebuah halaman agar tampil benar di semua browser modern:

HTML
<!DOCTYPE html>
<html lang="id">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
  content="width=device-width, initial-scale=1">
  <title>Website Saya</title>
</head>
<body>
  <h1>Halo, ini halaman pertama saya</h1>
  <p>Berkas ini bernama index.html.</p>
</body>
</html>

Baris <!DOCTYPE html> di paling atas memberi tahu browser bahwa dokumen ini mengikuti HTML5. Atribut lang="id" membantu mesin pencari dan pembaca layar mengenali bahasanya, sedangkan baris viewport membuat halaman menyesuaikan diri di layar ponsel.

Langkah #4: Pisahkan Tampilan dan Perilaku

Begitu halaman Anda bertambah panjang, menaruh semuanya di satu berkas menjadi merepotkan. Pola yang lazim dipakai adalah memisahkannya menjadi tiga berkas bersaudara di folder yang sama: index.html untuk struktur, style.css untuk tampilan, dan script.js untuk perilaku. Ketiganya disambungkan dari dalam index.html:

HTML
<head>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <h1>Halo, ini halaman pertama saya</h1>
  <script src="script.js"></script>
</body>

Penjelasan lengkap soal apa yang bisa ditulis di kedua berkas pendamping itu ada di pembahasan CSS dan JavaScript. Untuk sekarang, cukup ketahui bahwa href dan src di atas adalah alamat relatif — keduanya mencari berkas di folder yang sama dengan index.html.

Membuka index.html: Klik Dua Kali atau Lewat Server Lokal

Ada dua cara membuka berkas yang baru Anda buat, dan perbedaannya lebih besar daripada yang terlihat.

Cara pertama adalah klik dua kali. Browser terbuka dan alamatnya berbunyi file:///C:/website-saya/index.html. Halaman tampil, tetapi Anda sedang membuka berkas, bukan website. Tidak ada web server yang terlibat sama sekali.

Cara kedua adalah menjalankan server kecil di komputer Anda sendiri, sehingga alamatnya menjadi http://localhost/index.html. Di sini barulah seluruh mekanisme yang dibahas artikel ini bekerja: ada server yang menerima permintaan, membuka daftar nama bawaan, dan memilih berkas.

Perbedaan itu penting karena sejumlah fitur menolak bekerja lewat file://. Permintaan data dengan fetch(), modul JavaScript (<script type="module">), dan alamat absolut seperti /gambar/logo.png semuanya gagal di mode berkas. Ketiganya berjalan normal begitu ada server. Kalau halaman Anda tampil benar saat diklik dua kali namun rusak setelah diunggah — atau sebaliknya — perbedaan inilah biang keladinya.

Tiga cara termudah menjalankan server lokal:

  1. Live Server di Visual Studio Code: pasang ekstensinya, klik kanan index.html, pilih Open with Live Server. Port bawaannya 5500, sehingga alamatnya menjadi http://127.0.0.1:5500/index.html. Isi liveServer.settings.port dengan 0 bila Anda ingin port acak.
  2. Python: jalankan python3 -m http.server di dalam folder proyek, lalu buka http://localhost:8000. Tidak perlu memasang apa pun bila Python sudah ada di komputer Anda.
  3. XAMPP: salin folder proyek ke htdocs, nyalakan modul Apache, lalu buka http://localhost/website-saya/.

Angka port di belakang localhost bukan sesuatu yang baku. Live Server memakai 5500, http.server memakai 8000, dan banyak kerangka kerja modern memakai 3000 atau 8080. Yang menentukan angka itu adalah program yang sedang Anda jalankan, bukan berkas index.html-nya.

Arti localhost dan angka 127.0.0.1 yang menyertainya kami bahas terpisah di artikel localhost. Bila Anda sedang belajar dan ingin halaman itu bisa dibuka orang lain tanpa mengeluarkan biaya, hosting gratis sudah cukup untuk halaman statis semacam ini.

Kenapa index.html Anda Tidak Muncul

File index-nya sudah ada, namanya sudah benar, tetapi halaman tetap tidak tampil. Berikut penyebabnya, diurutkan dari yang paling sering kami temui.

  1. Huruf kapital tidak cocok. Ini penyebab nomor satu, dan yang paling membingungkan karena hanya muncul setelah berkas diunggah. Windows dan macOS memakai sistem berkas yang tidak membedakan huruf besar dan kecil, sehingga Index.html tetap terbuka di komputer Anda. Server hosting hampir selalu berjalan di Linux, yang membedakannya. Di sana Index.html dan index.html adalah dua berkas berbeda, dan hanya yang huruf kecil seluruhnya yang cocok dengan daftar bawaan Apache. Ubah namanya menjadi huruf kecil semua.
  2. Berkas berada satu tingkat terlalu dalam. Periksa apakah isi public_html Anda berupa index.html langsung, atau berupa satu folder yang di dalamnya baru ada index.html. Bila yang kedua, pindahkan seluruh isinya naik satu tingkat.
  3. Berkas lain memenangi urutan. Bila index.php ada di folder yang sama dan terdaftar lebih dulu, dialah yang tampil. Ganti nama atau pindahkan berkas tersebut, atau ubah urutannya di .htaccess.
  4. Ekstensi ganda. Nyalakan tampilan ekstensi berkas di File Explorer dan pastikan namanya bukan index.html.txt atau index.html.html.
  5. Hak akses berkas. Web server perlu izin membaca berkas itu. Nilai yang lazim adalah 644 untuk berkas dan 755 untuk folder. Berkas dengan hak akses 600 akan menghasilkan 403 Forbidden.
  6. Cache browser. Setelah menimpa index.html lama, browser kerap masih menampilkan versi sebelumnya. Muat ulang dengan Ctrl+Shift+R (atau Cmd+Shift+R di macOS) untuk memaksa pengambilan ulang.
Berkas Index.html berhuruf besar tetap terbuka di Windows dan macOS, tetapi menghasilkan 404 di server Linux.
Berkas Index.html berhuruf besar tetap terbuka di Windows dan macOS, tetapi menghasilkan 404 di server Linux.

Cara tercepat memastikan berkas Anda benar-benar sampai ke server: buka alamatnya secara lengkap, misalnya contohwebsite.com/index.html. Bila halaman muncul di alamat itu tetapi tidak muncul di contohwebsite.com/, masalahnya ada pada daftar nama bawaan, bukan pada berkasnya.

index.html di Proyek React, Vue, dan Vite

Kalau Anda membuka proyek web modern, index.html masih ada di sana — tetapi perannya sudah berubah, dan ini kerap membingungkan pemula yang baru pindah dari halaman statis.

Pada proyek Vite, index.html diletakkan di akar proyek, bukan di dalam folder public. Dokumentasi resminya menjelaskan bahwa penempatan itu disengaja: selama pengembangan Vite bertindak sebagai server, dan index.html adalah entry point (titik masuk) aplikasi Anda. Berkas itu diperlakukan sebagai kode sumber yang ikut dianalisis, bukan sebagai berkas statis yang disalin apa adanya.

Pada proyek Create React App yang lebih lama, berkasnya berada di public/index.html dan isinya nyaris kosong — biasanya hanya satu <div id="root"></div>. Seluruh tampilan aplikasi disuntikkan JavaScript ke dalam elemen itu saat halaman dimuat.

Setelah proses build dijalankan, hasilnya adalah dist/index.html (Vite) atau build/index.html (Create React App). Berkas inilah yang Anda unggah ke server, bukan berkas yang ada di akar proyek.

Nama folder yang mengapitnya pun berbeda-beda, dan tidak satu pun punya arti khusus bagi server. Anda akan menemukan frontend/index.html pada proyek yang memisahkan sisi tampilan dari sisi server, templates/index.html pada aplikasi Flask atau Django, serta coverage/index.html sebagai laporan hasil pengujian yang dibuat otomatis. Pola yang sama muncul saat Anda membuka localhost/portfolio/ atau localhost/dashboard/ — keduanya folder biasa yang kebetulan berisi index.html. Semuanya berkas HTML biasa; yang berbeda hanya siapa yang membuatnya dan siapa yang membacanya.

Ada satu hal tambahan yang perlu diatur di server untuk aplikasi semacam ini. Karena seluruh rute ditangani JavaScript di sisi browser, alamat seperti contohwebsite.com/profil tidak punya berkas profil.html yang bersesuaian. Server harus disuruh mengembalikan index.html untuk setiap alamat yang berkasnya tidak ditemukan. Pada nginx, aturannya berbunyi seperti ini:

Nginx
location / {
    try_files $uri $uri/ /index.html;
}

Tanpa baris tersebut, pengunjung yang memuat ulang halaman di alamat dalam akan menerima 404.

Hal yang Perlu Anda Pertimbangkan

Bertumpu pada index.html punya batas yang sebaiknya Anda ketahui sejak awal.

  1. Isinya sama untuk semua pengunjung. Berkas HTML statis tidak dapat menyapa pengguna dengan namanya atau menampilkan stok terbaru tanpa bantuan JavaScript. Bila website Anda butuh isi yang berubah per pengunjung, index.php atau kerangka kerja yang mengolah data di sisi server lebih masuk akal.
  2. Perubahan berulang harus disalin manual. Mengubah menu navigasi di website 20 halaman berarti menyunting 20 berkas. Pada titik itu, generator situs statis atau CMS menghemat waktu Anda secara signifikan. Batas praktisnya kira-kira di angka 10 halaman: di bawah itu, mengelola berkas HTML satu per satu masih nyaman.
  3. Perilakunya bergantung pada konfigurasi penyedia. Daftar nama bawaan dan urutannya ditentukan pemilik server. Website yang berpindah dari satu penyedia ke penyedia lain kadang berubah perilakunya tanpa satu baris kode pun disunting.
  4. Berkas kosong bukan solusi keamanan. Menaruh index.html kosong memang menyembunyikan daftar isi folder. Berkas sensitif di dalamnya tetap dapat diunduh siapa pun yang menebak namanya dengan benar. Pindahkan berkas semacam itu keluar dari folder publik.

Pertanyaan yang Sering Diajukan

Index HTML apa?

Index.html adalah file halaman utama yang otomatis dibuka web server saat pengunjung mengakses sebuah folder tanpa menyebut nama berkas. Ia berkas HTML biasa; yang membuatnya berbeda hanyalah namanya terdaftar sebagai nama bawaan di konfigurasi server.

Apakah setiap website wajib punya index.html?

Tidak wajib, tetapi sangat disarankan. Website berbasis PHP seperti WordPress memakai index.php sebagai gantinya. Folder yang tidak punya file index sama sekali akan menampilkan daftar isinya atau menolak akses, dan keduanya bukan hasil yang Anda inginkan.

Apa bedanya index.html dan index.htm?

Isinya bisa persis sama. Perbedaannya sejarah: MS-DOS dulu membatasi ekstensi berkas maksimal tiga huruf, sehingga .htm menjadi bentuk pendek .html di lingkungan Windows lama. Kedua nama masih dikenali sebagian besar server, tetapi index.html lebih universal dan sebaiknya menjadi pilihan Anda.

Apa bedanya index.html dan index.php?

index.html dikirim apa adanya ke browser. index.php diproses lebih dulu oleh penerjemah PHP di server, yang dapat mengambil data dari database dan menyusun halaman berbeda untuk tiap pengunjung, baru hasilnya dikirim. Bila keduanya ada dalam satu folder, yang tampil ditentukan urutan pada daftar nama bawaan server.

Apakah nama index.html boleh diganti?

Boleh, selama Anda mendaftarkan nama baru itu di konfigurasi server. Pada Apache dan hosting cPanel, tambahkan satu baris di .htaccess, misalnya DirectoryIndex beranda.html. Tanpa pendaftaran itu, berkas dengan nama lain tidak akan pernah dibuka otomatis. Karena itu index2.html tidak punya arti khusus bagi server mana pun — ia halaman biasa yang harus dipanggil dengan nama lengkapnya.

Bisakah index.html dibuka di HP?

Bisa. Simpan berkasnya di penyimpanan ponsel, lalu buka lewat aplikasi pengelola berkas dan pilih membukanya dengan browser. Alamatnya akan berbentuk file:///storage/emulated/0/.... Perlu diingat, mode berkas ini punya batasan yang sama seperti di komputer — fetch() dan modul JavaScript tidak akan berjalan.

Bagaimana membuat index.html mengalihkan ke halaman lain?

Cara paling ringkas adalah menambahkan satu baris di dalam <head>: <meta http-equiv="refresh" content="0; url=halaman-baru.html">. Untuk pengalihan permanen yang dipahami mesin pencari, tuliskan aturannya di .htaccess dengan Redirect 301. Pengalihan lewat meta refresh tidak menyampaikan sinyal permanen.

Di mana letak index.html di nginx?

Lokasinya ditentukan directive root pada blok server atau location di berkas konfigurasi Anda, umumnya di /etc/nginx/. Nilai yang lazim adalah /var/www/html atau /usr/share/nginx/html. Jalankan nginx -T untuk melihat konfigurasi aktif beserta nilai root yang sedang dipakai.

Bisakah index.html diubah menjadi aplikasi Android?

Bisa, dengan bantuan perkakas yang membungkus halaman web ke dalam aplikasi, seperti Apache Cordova atau Capacitor. Hasilnya adalah aplikasi berisi komponen WebView (peramban tertanam) yang memuat index.html Anda. Perlu dicatat, hasilnya bukan aplikasi asli Android, sehingga akses ke fitur perangkat tetap terbatas.

Bisakah membuat index.html secara online tanpa memasang aplikasi?

Bisa. Editor online berbasis peramban seperti CodePen, JSFiddle, StackBlitz, dan Replit menjalankan index.html langsung di tab browser, lengkap dengan pratinjau yang ikut berubah saat Anda mengetik. Cara ini praktis untuk latihan dan berbagi potongan kode. Yang perlu diingat, berkas itu hidup di layanan tersebut, bukan di hosting Anda. Agar halamannya bisa dibuka lewat domain sendiri, berkasnya tetap harus diunggah ke server.

Di mana bisa mendapat template index.html?

Kerangka minimal di bagian "Membuat index.html Pertama Anda" di atas sudah cukup untuk memulai, dan dapat Anda salin langsung dari halaman ini tanpa perlu mengunduh berkas contoh dari mana pun. Untuk tampilan yang lebih lengkap, kerangka kerja CSS seperti Bootstrap dan Tailwind menyediakan contoh halaman siap pakai yang dapat Anda sunting isinya.

Kesimpulan

Index.html adalah konvensi penamaan, bukan aturan baku web. Ia bekerja karena namanya kebetulan tertulis di daftar nama bawaan web server Anda — daftar yang dapat Anda baca, ubah, dan urutkan sendiri. Begitu Anda memahami itu, gejala yang tadinya membingungkan menjadi mudah dilacak. Halaman lama yang bertahan berarti index.php memenangi urutan. Tampilan "Index of /" berarti tidak ada nama yang cocok ditemukan. Adapun 404 setelah unggah hampir selalu soal huruf kapital.

Untuk halaman statis sederhana, satu berkas index.html di folder yang benar sudah menyelesaikan pekerjaan. Begitu jumlah halaman melewati sekitar sepuluh, atau isinya perlu berubah per pengunjung, pertimbangkan pindah ke index.php atau generator situs statis.

Semoga artikel ini membantu.