Menghilangkan index.php merupakan suatu tuntutan dalam SEO yaitu bagaimana cara membuat url yang rapih dan SEO friendly. Sebagai seorang programmer tentu hal ini akan sangat sulit apabila terjadi kesalahan. Butuh effort yang cukup lama dalam mengatasi masalah ini. Tapi untuk seorang Digital Marketer, tentu saja ini hal yang basic yang harus ditempuh untuk menjalankan strateginya.
Gejala
Beberapa framework dan CMS memang sudah ada standarnya. Namun, bagaimana ternyata jika error. Ada banyak error yang ditimbulkan oleh masalah perubahan
.htaccess
ini. Adapun gejala error tersebut yang paling sering diantaranya.
- No input file specified.
- Membuka halaman apa saja yang keluar homepage atau 404 notfound.
- Ketika passing parameter get di url muncul halaman yang tidak diinginkan
- Mod Rewrite Apache belum di install
- Menggunakan varian NGINX
Solusi
Solusi yang paling mendasar yaitu periksa dulu PHP version nya. Untuk memeriksa nya cukup mudah. Bisa langsung tanyakan melalui tiket support ke penyedia hosting anda atau kontak admin. Bisa juga dengan mengecek sendiri dengan function
phpinfo()
.
Cara PHPINFO()
untuk menggunakan php info, pertama buat file dulu namanya
phpinfo.php
atau apa saja yang penting extensionnya php. Kemudian masukan kode dibawah ini.
<?php php_info();
kemudian simpan dan coba eksekusi di browser. Kurang lebih hasilnya akan seperti ini.
Jika telah muncul, coba cek mod_rewrite di apache nya sudah terinstall apa belum. Jika sudah langsung lanjut ke perubahan .htaccess.
Solusi
Untuk php lebih dari 5.2.6 gunakan kode ini.
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php?/$1 [L]
untuk php versi 5.2.6 ke bawah cobalah kode ini:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ /index.php/$1 [L]
Pertanyaan yang sering ditanyakan
Memang terdengar aneh ya, tapi ini sering terjadi terkait masalah menghilangkan index.php menggunakan HTACCESS. Berikut ini adalah beberapa pertanyaan yang sering muncul.
- Bisa tidak sih saya menggunakan htaccess untuk menghilangkan index.php di nginx. Ini jelas sekali jawabanya tidak bisa, anda harus merubah file config nginx nya supaya dapat menghilangkan index.php
- Apa perbedaan HTACCESS untuk versi php 5.2.6? Ini sangat menarik, perbedaanya hanya pada penambahan syntax tanda tanya pada baris terakhir setelah index.php. Mari kita lihat baris terakhir RewriteRule ^(.*)$ /index.php/$1 [L] dengan RewriteRule ^(.*)$ /index.php?/$1 [L] ternyata tidaklah sulit bukan
- Apakah di Nginx sudah ada mod_rewrite? Kalau saya jawab sih, tidak ada. Tapi nginx itu sudah secara default bisa mod_rewrite dengan standar Nginx.
- Bisa ga sih ngedit htaccess pakai notepad++? Bisa, cukup drag and drop file .htaccess ke notepad++ nya nanti langsung bisa diedit
- Ternyata susah membuat file .htaccess di windows? Iya memang demikian, cara termudahnya adalah googling ke github atau download script yang sudah ada dari filehosting. Download kemudian edit dan upload lagi.
Demikian. Semoga dapat membantu.