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.

Tinggalkan komentar