Menghapus ekstensi .php .html dengan file .htaccess

File .htaccess adalah file ASCII yang sederhana yang dapat kita buat dengan text editor seperti Notepad atau Notepad++. Ini menyediakan cara untuk melakukan perubahan konfigurasi pada direktori/folder. Malahan dengan ini kita bisa melakukan hal lainnya dengan file .htaccess seperti me-Redirect pengguna ke halaman yang berbeda, melindungi direktori/file tertentu dengan password, me-Rewrite URI dll.

Ada beberapa alasan untuk menghapus ekstensi dari URL:

  • Untuk membuat URL terlihat lebih bersih
  • Untuk membuat URL lebih mudah untuk diketik
  • Untuk membuat URL mudah diingat
  • Untuk membuat URL lebih SEO keyword friendly
  • Ada manfaat untuk keamanan yang sangat kecil (pengguna tidak langsung tahu apa bahasa kode yang digunakan) tapi ini dapat diabaikan.
  • Untuk mengubah teknologi yang digunakan tanpa ada masalah saat bermigrasi URL (misalnya: dari .php ke .html; dari .jsp ke .html).

Menghapus ekstensi php

Untuk menghapus ekstensi php dari url situs kamu, misalnya anggaplah url situs kamu seperti ini:

http://domain.com/daftar.php

dan menjadi seperti ini:

http://domain.com/daftar

Jadi mana yang lebih baik, tentu saja yang kedua, sekarang untuk membuatnya seperti itu, kamu harus memasukkan kode berikut di dalam file .htaccess, jadi buatlah file baru menggunakan text editor dan simpan sebagai (.htaccess) tapi satu hal yang harus diingat bahwa .htaccess adalah ekstensi file, kode berikut ini adalah untuk ekstensi php.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
</IfModule>

Setelah itu buat file baru: index.php dan menyimpannya ke dalam folder dimana kamu menyimpan file .htaccess, maka kamu dapat mengakses URL yang tanpa ekstensi .php, cobalah.

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4. <meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />
  5. <title>Menghapus ekstensi .php .html dengan file .htaccess – Codingan.com/</title>
  6. </head>
  7. <body>
  8. <h1>Ini adalah halaman index tanpa ekstensi php</h1>
  9. </body>
  10. </html>

Menghapus ekstensi html

Lakukan hal yang sama seperti yang saya tunjukkan di atas tetapi hanya mengubah baris terakhir dari kode di atas untuk mencocokkan nama file:

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html-f
RewriteRule ^(.*)$ $1.html
</IfModule>

Menambahkan garis miring di akhir url

Ok kita udah menghapus ekstensi, sekarang cara menambahkan garis miring di akhir url seperti ini.

http://domain.com/login/

Jika kamu menginginkannya, cukup ganti RewriteRule ^(.*)$ $1.php dengan ini RewriteRule ^([a-z]+)\/?$ $1.php [NC]

Kode .htaccess untuk menghapus ekstensi .php .html

<IfModule mod_rewrite.c>
RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.php -f
RewriteRule ^(.*)$ $1.php
#RewriteRule ^([a-z]+)\/?$ $1.php [NC]


RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME}.html -f
RewriteRule ^(.*)$ $1.html
#RewriteRule ^([a-z]+)\/?$ $1.html [NC]

</IfModule>

Kamu sekarang dapat menautkan halaman html dan php dalam postingan kamu tanpa ekstensi .php, .html. Sebagai contoh:

  • <a href=”http://domain.com/login”>Login</a>

Silakan di coba.