Pasang symbolic link di /etc/apache2/mods-enabled untuk file rewrite.load
cd /etc/apache2/mods-enabled
sudo ln -s ../mods-available/rewrite.load
atau cara cepat dengan aktifkan melalui
sudo a2enmod rewrite
buat file konfigurasi rewrite
sudo leafpad /etc/apache2/conf-available/rewrite.conf
isikan dengan
<IfModule mod_rewrite.c>
<Directory /var/www/html>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</IfModule>
buat symbolic link di /etc/apache2/conf-enabled
cd /etc/apache2/conf-enabled
sudo ln -s ../conf-available/rewrite.conf
jalankan ulang atau set baca ulang konfigurasi apache2
sudo service apache2 reload
buat file .htaccess
sudo nano /var/www/html/.htaccess
isikan contoh rule
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^beranda$ main.php?page=beranda [L]
ErrorDocument 404 http://localhost/error-404.html
ErrorDocument 403 http://localhost/error-403.html
Options All -Indexes
</IfModule>
Dari rule di atas, setiap mengarah ke http://localhost/beranda maka akan membuka http://localhost/main.php?page=beranda dan jika ada error, maka akan mengarah ke halaman error yang ditunjuk
^beranda$ adalah kalimat yang akan dicocokan.
^ menyatakan awal dari URL, dimana localhost/ diabaikan.
$ menyatakan akhir dari URL
beranda string yang dicocokkan
main.php?page=beranda adalah tujuan dari file sesungguhnya.
[NC] ignores capitalization dan [L] menyatakan lowercase
set permision dari .htaccess ke mode read only
sudo chmod 644 /var/www/html/.htaccess