AKTIFKAN MOD_REWRITE PADA UBUNTU

  • putragaluh
  • Senin, 17/05/2010
  • Ubuntu
  • 4545 hits

Bekerja dengan framework tentunya juga ingin memaksimalkan fitur yang telah disediakan, yang ingin saya share pada tulisan ini adalah untuk mengaktifkan modul mod_rewrite pada apache2 yang berjalan pada ubuntu (saat ini saya menggunakan Ubuntu 9.10 - the Karmic Koala).

Sekilas tentang mod_rewrite (ref: http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html) :

mod_rewrite dibutuhkan untuk melakukan penulisan ulang URL berdasarkan regular-expression parser secara on the fly. Manipulasi URL bisa dilakukan untuk server variable, environment variables. HTTP headers, time stamps dan lain-lain. mod_rewrite beroperasi pada URL lengkap (termasuk bagian path-info) baik dalam konteks per-server (httpd.conf) dan konteks per-directory (.htaccess).

Ok, implementasi realnya karena saat ini saya menggunakan sebuah framework (Codeigniter). Default config.php ($config['index_page'] = "index.php";) akan membuat kondisi URL menjadi :

http://localhost/index.php/var1/var2/

dan alangkah indahnya :) apabila hal tersebut bisa kita buat menjadi (hapus index.php pada config.php -> $config['index_page'] = ""):

http://localhost/var1/var2/

selain itu, dalam Codeigniter juga diterapkan path folder/file yang sangat konsisten sehingga semua file/folder akan mengikuti rule dari framework ini. misalnya, apabila kita menyimpan file abcd.txt di root folder codeigniter maka kita file tersebut tidak bisa diakses melalui http://localhost/abcd.txt melainkan harus kita tulis rulenya yang melibatkan modul mod_rewrite.

Langkah-langkah mengaktifkan mod_rewrite pada ubuntu sebagai berikut :

1. Aktifkan mod_rewrite dengan perintah di terminal/console:

sudo a2enmod rewrite

dengan perintah diatas, maka kita bisa melihat file rewrite.load di /etc/apache2/mod-enabled dan untuk lebih meyakinkan lagi, anda bisa membuat file php yang isinya : <?php phpinfo(); ?>

2. Edit file /etc/apache2/site-enable/000-default


edit : AllowOverride none menjadi AllowOverride all

sample kurang lebih sebagai berikut:

#<Directory /var/www/>
<Directory /home/ezwan/public_html>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
</Directory>


3. Restart apache dengan perintah di terminal/console:


sudo /etc/init.d/apache2 restart

4. Buat file .htaccess dan simpan di root directory codeigniter dan isinya kurang lebih seperti dibawah ini:


# Set the default handler.
DirectoryIndex index.php

# Various rewrite rules.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|robots\.txt|info\.txt|abcd\.txt)
RewriteRule ^(.*)$ index.php?/$1 [L,QSA]
</IfModule>


dengan rule diatas, maka keinginan untuk memiliki url ringkas (tanpa index.php) dan akses file abcd.txt bisa dilakukan.

Semoga membantu ..

: tanpa label

KOMENTAR

Waspada Perang Pemikiran

Rasulullah Bersabda : "Sungguh Kalian Akan Mengikuti Cara-cara Hidup Umat Sebelum Kalian, Sedepa Demi Sedepa, Sehasta Demi Sehasta, Sejengkal Demi Sejengkal, Sampai Mereka Masuk Lubang Biawakpun, Niscaya Kalian Akan Memasukinya Bersama Mereka". Para Sahabat Bertanya :"Apakah Mereka Itu Yahudi Dan Nasrani, Wahai Rasul". Beliau Menjawab:"Siapa Lagi?!"

Layanan SSD Web Hosting

Fitur Hosting Lengkap, Cloudlinux, Apache/Nginx/Litespeed PHP Multiversion, MariaDB, Remote Backup DNS Cluster, Immunify360, Secure dan Stabil

Layanan Web Desain

Percayakan pembuatan website anda kepada GaluhWeb.com baik untuk instansi, perusahaan ataupun personal. Lebih dari 100 project telah membuktikannya.

Layanan VPS & Dedicated Server

Dapatkan kontrol penuh untuk mengelola bisnis, blog, aplikasi dengan layanan Virtual Private Server atau Dedicated Server. Ayo naik level sekarang bersama GaluhWeb.com !

Value Added Service

Dapatkan juga layanan tambahan lainnya seperti Nama Domain, Mail Hosting, Streaming Hosting, Sitelock, SSL dan masih banyak lagi.

GaluhWeb.com