File .htaccess adalah file konfigurasi server yang bisa dimanfaatkan untuk mengaktifkan fungsi bawaan pada website yang menggunakan Apache. Dengan belajar sendiri htaccess, kamu bisa menambahkan fungsi pada website WordPress tanpa harus menggunakan plugin. Berikut adalah 10 contoh kode htaccess terpopuler yang bisa kamu gunakan.
Bila kamu ingin belajar htaccess dasar, kamu bisa membaca terlebih dahulu tutorial lengkap mengenai apa itu htaccess dan bagaimana cara membuatnya di WordPress.
Daftar Isi
Hal yang harus diperhatikan sebelum mengedit htaccess
File .htaccess
adalah file penting yang bisa mempengaruhi jalannya situs kamu, jadi kamu harus selalu berhati-hati dalam menggunakannnya. Untuk itu, pastikan kamu melakukan hal-hal ini sebelum kamu menambahkan kode pada file .htaccess
.
- Backup – Backup berfungsi sebagai restore point yang akan berguna bila terjadi sesuatu yang salah. Selain membackup WordPress, backup juga file
.htaccess
yang sudah kamu miliki sebelumnya. - Salin kode dengan tepat – Dalam melakukan koding, kamu tidak boleh melakukan kesalahan sedikitpun. Hilangnya satu karakter saja bisa membuat kode tidak dapat dieksekusi. Bila kamu mengedit file
.htaccess
, konsekuensinya bisa cukup fatal dan bahkan bisa menyebabkan situs crash. Jadi pastikan kamu menyalin kode dengan tepat. - Meletakan kode di tempat yang tepat – Bila kamu sudah pernah memiliki file .htaccess sebelumnya, mungkin file tersebut sudah memiliki kode seperti berikut. Untuk menambahkan kode baru, letakan kode tersebut sebelum
# BEGIN WordPress
atau setelah# END WordPress.
# 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
Contoh penggunaan kode htaccess terpopuler
1. Pengalihan URL (Redirect)
Ini mungkin menjadi trik menggunakan file .htaccess yang paling populer dimana kamu bisa dengan cepat melakukan pengalihan URL. Kamu hanya perlu menuliskan Redirect 301 yang diikuti oleh alamat URL yang ingin kamu pindahkan dan alamat URL yang baru.
Redirect 301 /url-lama.html http://www.namadomain.com/url-baru.html
Bila kamu ingin mengalihkan URL untuk dari domain lama ke domain yang baru, kamu bisa menambahkan kode ini pada file .htaccess
situs kamu yang lama,
Redirect 301 / http://domainbaru.com/
atau,
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domainlama.com [NC]
RewriteRule ^(.*)$ http://domainbaru.com/$1 [L,R=301]
Hal ini akan sangat berguna bila kamu pindah ke domain yang baru karena link yang ada pada domain lama akan secara otomatis pindah ke domain yang baru.
2. Mencegah hotlinking
Hotlink atau inline-link adalah penggunaan link yang menyimpan objek web, biasanya berupa gambar, oleh suatu situs tertentu yang dimiliki oleh situs lainnya. Jadi tidak hanya mengambil gambar tanpa izin, pencuri ini juga akan menggunakan bandwidth yang kamu gunakan.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain-kamu.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?domain-lainnya.com [NC]
RewriteRule \.(bmp|jpg|jpeg|png|gif)$ http://i.imgur.com/K7kASh2.gif [NC,R,L]
Penjelasan lengkap kode di atas dapat kamu lihat pada tutorial cara mencegah hotlink.
3. Membuat custom error pages
Secara default, web server yang menggunakan Apache memiliki laman errornya sendiri. Bila kamu ingin menggunakan laman error kamu sendiri, kamu bisa menggunakan kode berikut,
ErrorDocument 400 /400.php
ErrorDocument 401 /401.php
ErrorDocument 403 /403.php
ErrorDocument 404 /404.php
ErrorDocument 500 /500.php
Custom error pages yang bisa kamu gunakan tidak hanya sebatas format PHP saja tetapi juga HTML. Dan bila kamu meletakan laman kustom tersebut pada folder tertentu, jangan lupa untuk menuliskan nama folder tersebut,
ErrorDocument 400 /folder/400.html
4. Mencegah directory browsing
Pada web server, Apache akan secara otomatis membuat daftar dari semua file yang ada pada direktori yang tidak memiliki file index. Bila kamu tidak ingin agar orang lain melihat daftar file yang ada pada server kamu, cukup tambahkan kode berikut pada file .htacces.
Options -Indexes
5. Caching
Dengan menggunakan caching, kamu akan mendapatkan peningkatan kecepatan yang cukup signifikan karena browser tidak perlu mengunduh file yang sama berulang-ulang setiap kali user yang sama mengunjungi situs kamu. Meskipun pada WordPress ada banyak plugin caching yang sangat populer, kamu bisa juga melakukannya melalui file .htaccess
. Kode yang kamu butuhkan adalah,
<FilesMatch "\.(jpg|jpeg|png|gif|swf)$">
Header set Cache-Control "max-age=29030400, public"
</FilesMatch>
Kamu bisa mengubahnya tergantung tipe file apa dan lama waktu caching.
Bila kamu ingin mengetahui tutorial lengkap untuk mempercepat loading website dengan htaccess, coba main-main ke situs askapache.com.
6. Block pengunjung dari domain tertentu
Baru-baru ini saya melakukannya untuk memblok user dari domain tertentu yang seringkali mengirimkan komen spam ke bisablog. Cara ini ternyata terbukti cukup ampuh untuk menghilangkan gangguan semacam ini.
Untuk kamu yang juga ingin memblokir user yang berasal dari domain tertentu, cukup tambahkan kode berikut ke dalam file .htaccess
.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} blokdomain1.com [NC,OR]
RewriteCond %{HTTP_REFERER} bloksomain2.com [NC,OR]
RewriteRule .* - [F]
</ifModule>
Jangan lupa untuk mengubah nama blokdomain1.com
dan blokdomain2.com
pada baris ke-3 dan ke-4 dengan nama domain yang ingin kamu blokir.
7. Kompresi file (Gzip compression)
Bila kamu pernah melakukan kompresi file atau folder pada Windows kamu bisa lihat bahwa hasil kompresi umumnya berukuran jauh lebih kecil dibandingkan file aslinya.
Pada jaringan internet, kamu dapat mengkompresi ukuran file atau data website yang kamu kirimkan ke pengunjung untuk kemudian di-decompress oleh browser. Dengan begitu, kamu akan menghemat bandwidth dan ini akan mengurangi waktu loading website kamu.
Untuk melakukannya melalui file .htaccess
, cukup tambahkan kode berikut,
<ifmodule mod_deflate.c>
AddOutputFilterByType DEFLATE text/css text/html text/plain application/javascript text/xml application/xml application/xhtml+xml application/rss+xml application/x-javascript
</ifmodule>
Salah satu alternatif dari pembaca css-tricks adalah dengan menggunakan kode berikut. Cara ini diklaim bisa memangkas waktu loading website hingga 70 persen.
# BEGIN GZIP #
mod_gzip compression (legacy, Apache 1.3)
<IfModule mod_gzip.c>
mod_gzip_on Yes
mod_gzip_dechunk Yes
mod_gzip_item_include file \.(html?|xml|txt|css|js)$
mod_gzip_item_include handler ^cgi-script$
mod_gzip_item_include mime ^text/.*
mod_gzip_item_include mime ^application/x-javascript.*
mod_gzip_item_exclude mime ^image/.*
mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.*
</IfModule>
# END GZIP #
DEFLATE compression
<IfModule mod_deflate.c>
# Set compression for: html,txt,xml,js,css
AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml application/xhtml+xml text/javascript text/css application/x-javascript
# Deactivate compression for buggy browsers
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4.0[678] no-gzip
BrowserMatch bMSIE !no-gzip !gzip-only-text/html
# Set header information for proxies
Header append Vary User-Agent
</IfModule>
# END DEFLATE
Sumber: https://css-tricks.com/snippets/htaccess/active-gzip-compression/
8. Mewajibkan penggunaan HTTPS
Agar website selalu ditampilkan dengan HTTPS, tambahkan kode berikut ke dalam file .htaccess
.
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
9. Menghalangi akses ke file / folder tersembunyi
Setiap file atau folder yang ditulis dengan tanda titik (.) terlebih dahulu merupakan dotfiles yang secara otomatis tersembunyi dari user. Namun tidak bisa dilihat bukan berarti tidak bisa diakses. Untuk menghalangi akses ke file tersembunyi ini, gunakan kode berikut:
RewriteCond %{SCRIPT_FILENAME} -d [OR]
RewriteCond %{SCRIPT_FILENAME} -f
RewriteRule "(^|/)\." - [F]
10. Mengaktifkan xml-rpc.php
Untuk kamu yang bermasalah dalam menyambungkan WordPress dengan beberapa layanan seperti IFTTT atau Jetpack, kamu bisa mengaktifkan file xml-rpc.php
melalui file .htaccess
dengan kode berikut,
<Files xmlrpc.php>
Satisfy any
Order allow,deny
Allow from all
</Files>
Untuk kamu yang ingin membatasi akses file xml-rpc.php
hanya pada beberapa layanan tertentu saja bisa melihat artikel ‘solusi tidak bisa install jetpack di Niagahoster‘.
Penutup
Itulah 10 kode htaccess terpopuler yang dapat digunakan untuk website kamu. Untuk mengetahui lebih banyak kode htaccess lainnya, kamu bisa mengunjungi situs askapache.com atau css-tricks.com.
Mas, bisa minta copy file contohnya gk
Boleh tau file contoh seperti apa yang dimaksud?