Mengaktifkan Mod_Rewrite di Apache Linux - Rumah IT

Baru

recent

Mengaktifkan Mod_Rewrite di Apache Linux

Mengaktifkan Mod_Rewrite di Apache Linux

Modul Apache mod_rewrite memungkinkan Anda menulis ulang URL dengan cara yang lebih bersih, menerjemahkan jalur yang dapat dibaca manusia menjadi string kueri yang ramah kode. Ini juga memungkinkan Anda menulis ulang URL berdasarkan kondisi.


File .htaccess memungkinkan Anda membuat dan menerapkan aturan penulisan ulang tanpa mengakses file konfigurasi server. Dengan menempatkan .htaccess di root situs web Anda, Anda dapat mengelola penulisan ulang per situs atau per direktori.

Dalam tutorial ini, Anda akan mengaktifkan mod_rewrite dan menggunakan file .htaccess untuk membuat pengalihan URL dasar, lalu menjelajahi beberapa kasus penggunaan tingkat lanjut.

Cara Mengaktifkan mod_rewrite di Apache

Agar Apache memahami aturan penulisan ulang, pertama-tama kita perlu mengaktifkan mod_rewrite. Modul ini sebenarnya sudah diinstal bersamaan dengan apache, tetapi dinonaktifkan pada instalasi default Apache. Gunakan perintah a2enmod untuk mengaktifkan modul:

$ sudo a2enmod rewrite

Perintah ini akan mengaktifkan modul atau mengingatkan Anda bahwa modul sudah diaktifkan. Untuk menerapkan perubahan ini, mulai ulang Apache:

$ sudo systemctl restart apache2

Cara Instal Projek Web di Sub Direktori Server Linux

Secara default, direktori root pada web server linux berada di /var/www/html . Ini adalah direktori dimana kita meletakan file projek atau aplikasi projek berbasis web. Lalu bagaimana caranya instal aplikasi web di sub direktori ? Misalnya kita akan menginstal codeigniter di sub direktori /var/www/html/codeigniter. Kemudian kita jalankan di browser dengan URL localhost/codeigniter terus akses sampai menu login. Maka yang terjadi adalah kita tidak bisa mengakses URL tersebut, misalnya localhost/codeigniter/login . Browser akan mengembalikan pesan Not Found The requested URL was not found on this server.

Mengaktifkan Mod_Rewrite di Apache Linux

Hal itu terjadi karena web server membaca dokumen root ada di /var/www/html. Selain folder tersebut tidak dianggap sebagai dokumen root web. Untuk mengatasi masalah tersebut kita perlu mendefinisikan dokumen root untuk folder projek kita. Perhatikan langkah-langkahnya berikut.

Menambahkan direktori projek di konfigurasi Apache.

Buka file konfigurasi Apache default menggunakan nano atau editor teks favorit Anda :

sudo nano /etc/apache2/sites-available/000-default.conf

Kita akan menambahkan direktori folder untuk projek web kita. Tambahkan baris yang berwarna kuning dibawah <VirtualHost *:80> . Sesuaikan foldernya dengan nama folder projek web.

<VirtualHost *:80>
    <Directory /var/www/html/codeigniter>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    . . .
</VirtualHost>

Simpan dan keluar file kemudian restart service apache.

Menyiapkan file .htaccess

File .htaccess memungkinkan kita untuk mengubah aturan penulisan ulang tanpa mengakses file konfigurasi server. Untuk alasan ini, .htaccess sangat penting untuk keamanan aplikasi web Anda. Periode yang mendahului nama file memastikan bahwa file tersebut disembunyikan.

Buat file .htaccess di root folder projek. Jika anda menggunakan framework PHP seperti Codeigniter atau Laravel, file .htaccess sudah disediakan tinggal diedit dan tambahkan beberapa baris berikut untuk mengidentifikasi bahwa projek kita berada di sub direktori.
<IfModule mod_rewrite.c>
    Options +FollowSymLinks
    RewriteEngine on
    RewriteBase /codeigniter
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php?$1 [L]
</IfModule>

Anda sekarang memiliki file operasional .htaccess yang dapat Anda gunakan untuk mengatur aturan perutean aplikasi web Anda.

Catatan :
Semua langkah diatas hanya untuk web server yang diinstal di server linux. Jika anda menggunakan Windows dan menginstal web server seperti XAMPP atau Laragon, cukup buat folder saja di htdocs setiap kali anda membuat projek web baru.
All Rights Reserved by Rumah IT - Rumah Teknologi Informasi © 2013 - 2022
Powered By Blogger

Contact Form

Name

Email *

Message *

Powered by Blogger.