opengraph - Menghilangkan Ekstensi .PHP dan .HTML Dengan .htaccess

Menghilangkan Ekstensi .PHP dan .HTML Dengan .htaccess

URL website yang masih menampilkan ekstensi file seperti .php atau .html terkadang terlihat kurang ringkas. Jika ingin menghilangkan ekstensi .php atau .html dari URL, Anda dapat memanfaatkan konfigurasi .htaccess untuk membuat alamat halaman menjadi lebih bersih, misalnya dari domain.com/about.php menjadi domain.com/about.

Pada dasarnya, metode ini menggunakan fitur URL rewriting dari Apache. File .php atau .html tetap berada di server, tetapi pengunjung dapat mengaksesnya melalui URL tanpa ekstensi.

Catatan: Tutorial ini ditujukan untuk website yang menggunakan PHP atau HTML secara manual, termasuk website yang dibuat menggunakan framework tertentu seperti CodeIgniter 3. Konfigurasi ini tidak ditujukan untuk WordPress, Weebly, atau SitePro karena platform tersebut memiliki mekanisme permalink dan .htaccess yang berbeda.

Apa Manfaat Menghilangkan Ekstensi .PHP dan .HTML dari URL?

Menghilangkan ekstensi file dari URL bukan merupakan keharusan, tetapi dapat memberikan beberapa manfaat, antara lain:

  • Membuat URL terlihat lebih singkat dan bersih.
  • Membuat struktur URL lebih mudah dibaca.
  • Mengurangi ketergantungan tampilan URL terhadap teknologi atau ekstensi file tertentu.
  • Memudahkan pengelolaan URL ketika struktur website dikembangkan di kemudian hari.

Sebagai contoh, URL:

https://domainanda.com/about.php

dapat diakses menggunakan:

https://domainanda.com/about

Meskipun URL yang terlihat oleh pengunjung berbeda, server tetap akan mengambil file about.php dan menampilkannya di browser Anda.

Pindah Hosting ke Rumahweb Gratis

Cara Menghilangkan Ekstensi .PHP dari URL

Jika website Anda menggunakan file PHP dan ingin mengaksesnya tanpa ekstensi .php, Anda dapat menggunakan konfigurasi .htaccess.

Buat atau edit file .htaccess pada direktori utama website, kemudian tambahkan konfigurasi berikut:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.php -f
    RewriteRule ^(.+)$ $1.php [L]
</IfModule>

Setelah konfigurasi diterapkan, misalnya Anda memiliki file:

about.php
contact.php
index.php

Maka file tersebut dapat diakses menggunakan URL:

domain.com/about
domain.com/contact
domain.com

Bagaimana Cara Kerja Konfigurasi .htaccess?

Ada beberapa bagian penting dalam konfigurasi tersebut.

RewriteEngine On

Mengaktifkan fitur URL rewriting pada Apache.

RewriteCond %{REQUEST_FILENAME} !-d

Memastikan URL yang diminta bukan merupakan direktori yang sudah ada.

RewriteCond %{REQUEST_FILENAME}.php -f

Memeriksa apakah file dengan ekstensi .php benar-benar tersedia di server.

RewriteRule ^(.+)$ $1.php [L]

Jika file .php ditemukan, Apache akan melakukan rewrite dari URL tanpa ekstensi ke file .php yang sesuai.

Dengan demikian, ketika pengunjung membuka /about, server akan mengambil konten dari about.php tanpa harus menampilkan ekstensi .php pada URL.

Cara Menghilangkan Ekstensi .HTML dari URL

Jika website menggunakan file HTML statis, prinsipnya hampir sama. Perbedaannya terletak pada ekstensi file yang diperiksa.

Gunakan konfigurasi berikut:

<IfModule mod_rewrite.c>
    RewriteEngine On

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME}.html -f
    RewriteRule ^(.+)$ $1.html [L]
</IfModule>

Misalnya terdapat file:

about.html
contact.html
services.html

Maka URL dapat diakses menjadi:

domain.com/about
domain.com/contact
domain.com/services

Apache akan mencari file .html yang sesuai berdasarkan URL yang diminta.

Bagaimana Jika dalam 1 Website Menggunakan .HTML dan .PHP?

Pada website tertentu, file PHP dan HTML dapat digunakan secara bersamaan. Misalnya:

index.php
about.php
contact.html
services.html

Jika ingin menghilangkan ekstensi dari kedua jenis file tersebut, Anda dapat menggunakan konfigurasi berikut:

RewriteEngine On

# Menghilangkan ekstensi .php
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L]

# Menghilangkan ekstensi .html
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.+)$ $1.html [L]

Dengan konfigurasi tersebut, URL dapat digunakan seperti:

domain.com/about
domain.com/contact
domain.com/services

Server akan menentukan file yang sesuai berdasarkan keberadaan file .php atau .html.

Apa Perbedaan Rewrite URL dan Redirect URL?

Hal ini penting untuk dipahami karena rewrite dan redirect bukan hal yang sama.

Rewrite bekerja di sisi server. Pengunjung tetap melihat URL tanpa ekstensi di browser, sedangkan Apache meneruskan permintaan tersebut ke file sebenarnya.

Contohnya:

domain.com/about

di-rewrite ke:

about.php

URL pada browser tetap:

domain.com/about

Sementara itu, redirect akan mengarahkan browser ke URL lain. Jika menggunakan redirect dari about.php ke about, browser akan menerima respons pengalihan dan kemudian membuka URL tujuan.

Untuk kebutuhan tutorial ini, metode yang digunakan adalah URL rewriting, bukan sekadar redirect.

Apakah Menghilangkan Ekstensi File Berpengaruh pada SEO?

Menghilangkan .php atau .html dari URL tidak secara otomatis membuat sebuah website mendapatkan ranking lebih tinggi di mesin pencari.

Namun, URL yang lebih sederhana dapat membantu membuat struktur alamat halaman lebih mudah dipahami oleh pengguna dan mesin pencari.

Yang lebih penting adalah memastikan setiap halaman memiliki satu URL utama. Jangan sampai halaman yang sama dapat diakses melalui beberapa URL berbeda tanpa penanganan yang tepat.

Misalnya:

domain.com/about
domain.com/about.php

Jika keduanya dapat diakses dan menampilkan konten yang sama, sebaiknya struktur URL tersebut dikelola dengan baik agar tidak menimbulkan masalah URL duplikat.

BACA JUGA: Cara Ampuh Menaikkan Peringkat Website di Google

Bagaimana Cara Menghindari Duplikasi URL Setelah Ekstensi Dihilangkan?

Setelah URL tanpa ekstensi berhasil digunakan, Anda sebaiknya menentukan URL mana yang menjadi versi utama.

Misalnya URL utama yang ingin digunakan adalah:

domain.com/about

Sementara:

domain.com/about.php

tidak lagi digunakan sebagai URL publik.

Dalam implementasi yang lebih lengkap, Anda dapat menggunakan redirect dari URL lama ke URL baru dan memastikan internal link pada website juga menggunakan URL tanpa ekstensi.

Dengan begitu, pengguna dan mesin pencari akan diarahkan ke format URL yang konsisten.

Apakah .htaccess Bisa Digunakan di Semua Website?

Tidak semua website dapat menggunakan konfigurasi .htaccess yang sama. Konfigurasi ini terutama digunakan pada website yang berjalan di Apache dan mengaktifkan modul mod_rewrite. Untuk website PHP atau HTML yang dibuat secara manual, konfigurasi seperti pada tutorial ini dapat digunakan selama server mendukung .htaccess dan mod_rewrite.

Namun, jika menggunakan CMS atau website builder seperti WordPress, Weebly, atau SitePro, sebaiknya jangan langsung mengganti konfigurasi .htaccess karena masing-masing platform memiliki aturan URL dan routing sendiri.

Untuk WordPress, misalnya, struktur permalink dikelola oleh WordPress dan biasanya membutuhkan konfigurasi .htaccess tertentu.

Apa yang Terjadi Jika Konfigurasi .htaccess Salah?

Kesalahan konfigurasi .htaccess dapat menyebabkan website mengalami masalah, seperti:

  • Error 500 Internal Server Error.
  • Halaman tidak dapat diakses.
  • Terjadi redirect berulang.
  • URL tertentu tidak ditemukan.
  • File atau direktori tidak dapat diakses sebagaimana mestinya.

Karena itu, sebaiknya lakukan perubahan .htaccess secara hati-hati. Sebelum mengubah konfigurasi, kami sarankan untuk selalu melakukan backup data. Jika terjadi masalah, konfigurasi sebelumnya dapat dikembalikan.

Cara Mengembalikan URL ke Ekstensi .PHP atau .HTML

Jika setelah konfigurasi diterapkan Anda ingin kembali menggunakan URL dengan ekstensi file, cukup hapus atau nonaktifkan aturan rewrite yang sebelumnya ditambahkan.

Misalnya konfigurasi berikut:

RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.+)$ $1.php [L]

dapat dihapus dari .htaccess.

Setelah itu, URL kembali menggunakan ekstensi file, misalnya:

domain.com/about.php

atau:

domain.com/contact.html

Pastikan juga internal link pada website disesuaikan dengan struktur URL yang digunakan.

Kesimpulan

Menghilangkan ekstensi .php dan .html dari URL dapat dilakukan menggunakan fitur URL rewriting pada Apache melalui file .htaccess. Dengan konfigurasi yang tepat, file seperti about.php dapat diakses melalui URL domainanda.com/about tanpa perlu mengubah nama file aslinya di server.

Metode ini cocok untuk website PHP atau HTML yang dibuat secara manual maupun beberapa framework yang menggunakan konfigurasi routing sendiri. Namun, pastikan server yang digunakan mendukung .htaccess dan mod_rewrite, serta lakukan backup sebelum mengubah konfigurasi untuk menghindari error pada website.

Jika Anda membutuhkan hosting untuk menjalankan website berbasis PHP, pastikan layanan hosting yang dipilih mendukung kebutuhan konfigurasi website dan memberikan akses pengelolaan yang sesuai. Rumahweb menyediakan layanan Hosting Murah dengan dukungan untuk website PHP, sehingga Anda dapat lebih leluasa mengelola website dan konfigurasi server sesuai kebutuhan.

Bermanfaatkah Artikel Ini?

Klik bintang 5 untuk rating!

Rating rata-rata 4.7 / 5. Vote count: 17

Belum ada vote hingga saat ini!

Kami mohon maaf artikel ini kurang berguna untuk Anda!

Mari kita perbaiki artikel ini!

Beri tahu kami bagaimana kami dapat meningkatkan artikel ini?

Lutfi Hanif

I am an SEO enthusiast, an editor, a technical content writer, and also an article optimizer for both Journal and Rumahweb Blog.