Mematikan .htaccess di Apache
Bukan karena ada peningkatkan performa kalau kita tidak menggunakan htaccess pada Apache tapi kasus yang saya alami ada malware atau celah keamanan yang menambahkan kode redirect pada file .htaccess
ke halaman iklan pada situs – situs yang di hosting dalam VPS saya. Menggunakan VestaCP untuk control panelnya. Masalah ini akan saya bahas lebih mendetail di kemudian hari. Untuk pertolongan pertama yang saya lakukan adalah mematikan dukungan membaca konfigurasi .htaccess.
Bagaimana caranya? Silahkan anda edit konfigurasi virtual host Apache, untuk VestaCP ada di /home/[nama_user]/conf/web/apache2.conf
. Kemudian tambahkan kode berikut:
<Directory />
AllowOverride none
</Directory>
Kode AllowOverride none cuma bisa digunakan dalam blok Directory, dan inipun diletakkan dalam blok VirtualHost.
Setelah itu restart Apache:
service apache restart
Kalau setelah itu ada link yang 404 Error Not Found
berarti kode – kode rewrite urlnya belum anda pindahkan ke konfigurasi virtual host Apache sebelumnya. Ini saya contohkan untuk WordPress:
<VirtualHost *:80>
ServerName nama_domain.com
ServerAlias nama_domain.com www.nama_domain.com
DocumentRoot /home/nama_user/web/nama_domain/public_html/
Options -Indexes FollowSymLinks
<Directory />
AllowOverride none
</Directory>
#Import contents of wordpress .htaccess
<Directory /home/nama_user/web/nama_domain/public_html/>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
</Directory>
</VirtualHost>
Jangan langsung dicopas ya, sesuaikan dulu dengan konfigurasi yang sudah ada. Terutama gantikan nama_user
dan nama_domain
ke struktur hosting anda, saya berdasarkan VestaCP dan ini ada perbedaan dengan stack LAMP biasa.