Pengantar
Apache mod_rewrite adalah modul yang sangat kuat dan canggih yang menyediakan cara untuk melakukan manipulasi URL. Menggunakan mod_rewrite seseorang dapat melakukan semua jenis penulisan ulang URL yang mungkin diperlukan. Artikel ini akan mengajarkan Anda cara mengaktifkan modul apache mod_rewrite di server CentOS.
Langkah 1:Periksa apakah modul ada
Sebelum mengaktifkan modul mod_rewrite, kita perlu memeriksa apakah modul sudah dimuat dalam file httpd.
Jalankan perintah berikut di terminal Anda.
# httpd -V
Outputnya akan mirip dengan berikut ini,
Server version: Apache/2.2.15 (Unix) Server built: Jan 12 2017 17:09:39 Server's Module Magic Number: 20051115:25 Server loaded: APR 1.3.9, APR-Util 1.3.9 Compiled using: APR 1.3.9, APR-Util 1.3.9 Architecture: 64-bit Server MPM: Prefork threaded: no forked: yes (variable process count) Server compiled with.... -D APACHE_MPM_DIR="server/mpm/prefork" -D APR_HAS_SENDFILE -D APR_HAS_MMAP -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled) -D APR_USE_SYSVSEM_SERIALIZE -D APR_USE_PTHREAD_SERIALIZE -D APR_HAS_OTHER_CHILD -D AP_HAVE_RELIABLE_PIPED_LOGS -D DYNAMIC_MODULE_LIMIT=128 -D HTTPD_ROOT="/etc/httpd" -D SUEXEC_BIN="/usr/sbin/suexec" -D DEFAULT_PIDLOG="run/httpd.pid" -D DEFAULT_SCOREBOARD="logs/apache_runtime_status" -D DEFAULT_LOCKFILE="logs/accept.lock" -D DEFAULT_ERRORLOG="logs/error_log" -D AP_TYPES_CONFIG_FILE="conf/mime.types" -D SERVER_CONFIG_FILE="conf/httpd.conf"
Dari hasil di atas, kita bisa mengetahui path dari file konfigurasi apache (httpd.conf). Dari hasil tersebut, kita dapat mengatakan bahwa path file conf adalah /etc/httpd/conf/httpd.conf untuk server kita.
Untuk memeriksa apakah modul ada, jalankan perintah yang disebutkan di bawah,
# ls /etc/httpd/modules | grep mod_rewrite
Jika modul ada, Anda akan mendapatkan hasil sebagai berikut.
Keluaran:
mod_rewrite.so
Kemungkinan tidak mendapatkan hasil ini jarang terjadi, tetapi jika Anda tidak mendapatkan hasil ini, Anda perlu menginstal mod_rewrite dan mengkompilasi apache dengan dukungan modul.
Langkah 2:Periksa apakah modul sudah dimuat
Sekarang kita telah memverifikasi bahwa modul ada di direktori modul, mari kita periksa apakah modul dimuat atau diaktifkan. Untuk melakukan ini, jalankan perintah berikut di terminal,
# grep -i LoadModule /etc/httpd/conf/httpd.conf | grep rewrite
Jika Anda melihat hasil berikut, itu berarti modul diaktifkan.
LoadModule rewrite_module modules/mod_rewrite.so
Jika hasil ini dikomentari seperti yang disebutkan di bawah, maka hapus komentar tersebut dari file httpd.conf, lalu simpan dan keluar dari file tersebut.
#LoadModule rewrite_module modules/mod_rewrite.so
Tetapi jika Anda tidak mendapatkan hasil di atas, tambahkan baris berikut ke file httpd.conf Anda.
LoadModule rewrite_module modules/mod_rewrite.so
Langkah 3:Konfigurasikan file httpd.conf
Sekarang kita telah mengaktifkan modul mod_rewrite, di samping menggunakan .htaccess untuk melakukan penulisan ulang URL menggunakan mod_rewrite, Anda harus mengizinkan setiap direktori untuk menimpa opsi global Apache.
Jalankan perintah berikut di terminal Anda,
# grep -i AllowOverride /etc/httpd/conf/httpd.conf
Keluaran:
AllowOverride None # AllowOverride controls what directives may be placed in .htaccess files. AllowOverride None # AllowOverride FileInfo AuthConfig Limit # for additional configuration directives. See also the AllowOverride AllowOverride None AllowOverride None AllowOverride None
Edit file httpd.conf dengan mencari bagian
Itu saja, Anda telah mengaktifkan modul mod_rewrite di server CentOS Anda.