Manfaat dan Cara Menggunakan File htaccess [Kupas Tuntas]

Manfaat dan Cara Menggunakan File htaccess [Kupas Tuntas] | tirailangit.com – File .htaccess adalah sebuah file ber-extensi tanpa nama dan tersembuyi pada root server berupa file text sederhana dalam format ASCII.

Pastinya kamu sudah sering mendengar nama file.htaccess, tahukah kamu apa manfaat dan cara menggunakannya?

Simak ulasan berikut…

Apa itu .htaccess?

File ini akan memberikan dampak pada seluruh folder dan subfolder yang akan di-load oleh server.

Pada file inilah nantinya diletakan perintah untuk konfigurasi server.

Meski berukuran kecil namun memiliki manfaat yang sangat besar..htaccess memiliki wewenang untuk mengatur seluruh folder dan subfolder yang akan di-load oleh server, melakukan redirect, memblokir IP tertentu dan membuat halaman Error 404 (halaman tidak ditemukan).

Lebih lengkapnya liat daftar manfaat .htaccess di bawah ini :

  1. Memproteksi folder dengan memberikan password;
  2. Melakukan redirect pengunjung blog secara otomatis baik ke domain lain ataupun ke halaman tertentu;
  3. Membuat halaman Error 404 (halaman tidak ditemukan) versi kamu sendiri;
  4. Memblokir pengunjung dengan IP Address tertentu dan mencegah pengunjung melakukan browsing pada direktori blog;
  5. Mencegah blogger lain melakukan pengambilan link gambar dari blog untuk dipasang di blog lain (hot-linking of images) agar tidak membebani server hosting kamu;
  6. Mengubah default halaman index pada folder tertentu;
  7. Mengubah ekstensi URL atau permalink pada WordPress;
  8. Mengubah atau mengaktifkan fungsi dan nilai php.ini;
  9. .. dan lain-lain.

Karena sifatnya tersembunyi (hidden files), maka untuk melihatnya di cPanel, kamu harus melakukan setting Show Hidden Files terlebih dahulu.

  1. Login ke cPanel, pilih File Manager;
  2. Pada pojok kanan atas, pilih Setting, kemudian centang Show Hidden Files (dotfiles);
    cara menampilkan file htaccess
  3. Setelah melakukan pengaturan ini, .htaccess akan terlihat.

Jika menggunakan Filezilla, .htaccess langsung terlihat tanpa melakukan setting apapun.

Cara Membuat File .htaccess

Cara membuatnya sangat mudah, gunakan text editor seperti Sublime Text, Brackets ataupun Notepad++ kemudian unggah persis pada folder /public_html di hosting atau bisa juga membuatnya langsung di cPanel dengan cara sebagai berikut :

  1. Login ke cPanel, pilih File Manager;
  2. Masuk ke folder public_html, kemudian pada pojok kiri atas, klik +File dan buat file seperti gambar di bawah ini;
    Cara Membuat File .htaccess
  3. Selanjutnya klik Create New File;
  4. Setelah itu, klik kanan pada file .htaccess yang baru saja kamu buat, kemudian Code Edit » Edit;
    Cara Membuat File .htaccess
  5. Setelah itu masukkan konfigurasi standar WordPress berikut :
    # 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
  6. Jika sudah, klik Save Changes.

Demikian cara pembuatan file .htaccess, lanjut ke manfaat dan cara penggunaan .htaccess.

Manfaat Menggunakan htaccess

Perhatian !

Pastikan sudah mem-backup file .htaccess sebelum melakukan modifikasi dan pastikan kamu tahu cara mengembalikan file .htaccess ke keadaan semula seandainya blog tidak bisa diakses karena kesalahan konfigurasi.


1. Melakukan Redirect dengan .htaccess

Redirect perlu dilakukan untuk membantu mesin pencari untuk mengenali URL pada blog apakah masih valid atau tidak.

Dengan melakukan redirect, maka pengunjung akan diarahkan dari URL yang broken ke URL yang valid pada blog kamu.

Hal ini juga akan membantu memberitahu mesin pencari untuk memperbaiki crawl pada blog secara otomatis.

Redirect non-www ke www

Pada dasarnya sebuah blog bisa diakses dengan www atau tanpa www, namun mesin pencari seperti Google tidak mengizinkan hal tersebut dan akan mengenakan pinalti karena dianggap sebagai duplicate content.

Untuk menghindarinya, tentukan apakah blog diakses menggunakan www atau tanpa www.

Berikut ini script yang harus kamu letakkan pada .htaccess

# Redirect non-www ke www
RewriteCond %{HTTP_HOST} ^domainkamu.com$
RewriteRule (.*) http://www.domainkamu.com/$1 [R=301,L]

Redirect www ke non-www

# Redirect www ke non-www
RewriteCond %{HTTP_HOST} ^www.domainkamu.com [NC]
RewriteRule ^(.*)$ http://domainkamu.com/$1 [L,R=301]

Redirect URL tertentu ke URL lain dalam satu website

# Redirect URL tertentu ke URL lain dalam satu website
Redirect 301 /urllama.html /urlbaru.html

Redirect URL tertentu ke URL lain berbeda website

Script ini diletakkan pada .htaccess website lama bukan website yang baru.

# Redirect URL tertentu ke URL lain berbeda website
Redirect 301 /urllama http://domainbaru.com/urlbaru

Redirect seluruh website ke website lain

Script ini diletakkan pada .htaccess website lama bukan yang baru.

# Redirect seluruh website ke website lain
RewriteCond %{HTTP_HOST} ^domainlama.com [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domainlama.com [NC]
RewriteRule ^(.*)$ http://domainbaru.com/$1 [L,R=301,NC]

Perbedaan Redirect 301 dan 302

Redirect 301

Melakukan redirect secara permanen.

Redirect 301 akan memberikan respon HTTP 301 yang akan memberitahukan search engine bahwa halaman tersebut telah dipindahkan untuk selamanya (permanen).

Redirect 302

Melakukan redirect untuk sementara waktu.

Redirect 302 akan memberikan respon HTTP 302 found pada URL lama, artinya HTTP 302 akan memberitahukan mesin pencari bahwa halaman tersebut dipindahkan untuk sementara waktu.

Redirect dari HTTPS ke HTTP

Ada sebagian blogger ingin menggunakan SSL namun halaman blognya tetap akan diakses dengan protokol HTTP, alasannya karena setelah menggunakan protokol HTTPS, pendapatan Adsense malah berkurang.

Nah jika kamu seperti itu juga, lakukan redirect dengan menambahkan kode berikut di bagian paling atas (wajib) kode berikut ini :

# Redirect dari HTTPS ke HTTP
RewriteEngine On
RewriteCond %{SERVER_PORT} 443
RewriteRule (.*) http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Kalau diletakkan di bawah, kode tidak jalan karena browser akan mengakses perintah sebelumnya yang ada di htaccess.

2. Membuat Error 404 (Halaman tidak Ditemukan) Versi Kamu Sendiri

Salah satu kegunaan htaccess adalah membuat halaman 404 versi kamu sendiri, bukan menggunakan versi bawaan dari server.

Dengan menggunakan Halaman 404 versi kamu sendiri, akan membuat blog terlihat lebih profesional dalam menangani kesalahan yang terjadi.

Contoh halaman Error 404 custom :

Contoh halaman error 404
  1. Buat sebuah file .html atau .php yang berisi tampilan dan kata-kata halaman tidak ditemukan gaya kamu sendiri;
  2. Letakkan di dalam root direktori dari blog, yaitu di folder public_html;
  3. Misalnya nama filenya html404.php, maka kode yang diletakkan di file .htaccess adalah :
# Custom error page for error 403, 404 and 500
ErrorDocument 404 /html404.php

atau;

# Custom error page for error 403, 404 and 500
ErrorDocument 404 http://www.namadomain.com/html404.php

Jika tidak mau repot membuat file seperti di atas, langsung tuliskan kode berikut di file .htaccess, namun tampilan error-nya seadanya.

401 – Authorization Required
400 – Bad request
403 – Forbidden
500 – Internal Server Error
404 – Wrong page

3. Memblokir Akses ke Direktori Website Berdasarkan IP Address

Pemblokiran dilakukan untuk melindungi direktori yang ada di dalam website.

Folder-folder selain folder public_html juga dapat di lindungi dengan cara yang sama, namun cara ini hanya berjalan apabila kamu memiliki account hosting dengan IP Address Static.

  1. Buat file .htaccess pada direktori yang ingin kamu lindungi;
  2. Letakkan kode di bawah ini dan ganti IP Address dengan dengan IP Address yang akan kamu ijinkan.
Order Deny,Allow
Deny from all
Allow from 192.168.1.1

Jika IP Address yang diijinkan (allow) lebih dari satu, pisahkan dengan tanda koma sehingga menjadi seperti berikut ini :

Order Deny,Allow
Deny from all
Allow from 168.1.1, 192.168.1.5, 192.168.1.10

Jika sudah, jangan lupa simpan file .htaccess.

Jika IP Address yang tidak diijinkan mencoba masuk ke direktori yang telah kamu proteksi tadi, maka akan mendapatkan pesan kesalahan 403 Forbidden error.

4. Memblokir Alamat IP Tertentu

Untuk memblokir IP tertentu mengakses blog, gunakan kode berikut :

Order Deny, Allow
allow from all
deny from 192.168.1.1

IP Address adalah IP yang akan diblokir, ganti sesuai dengan keinginan.

Jika IP yang ingin diblokir memiliki rentang tertentu, gunakan kode berikut :

Order Deny, Allow
allow from all
deny from 192.168.1.

Angka IP Address artinya memblokir seluruh IP Address dari rentang 192.168.1.0 s.d 100.

Pengaturan ini hasilnya sama persis seperti kita melakukannya pada Control Panel >> IP Deny Manager.

Jika ingin memblokir berdasarkan alamat website, gunakan kode berikut ini :

Order Deny, Allow
allow from all
deny from .namadomain.com

Selain itu kamu juga dapat menggunakan .htaccess untuk melakukan redirect halaman ketika sedang melakukan perbaikan pada blog agar pengunjung blog diarahkan ke halaman yang telah ditentukan.

Misal kita menentukan pengunjung akan diarahkan ke halaman maintenis.php, maka buat file maintenis.php dan letakkan di public_html.

Kemudian pada .htaccess, sisipkan kode berikut ini :

order deny,allow
deny from all
allow from 192.168.1.1
ErrorDocument 403 /maintenis.php
<Files maintenis.php>
allow from all
</Files>

Konfigurasi ini akan membuat pengunjung diarahkan ke halaman maintenis.php sedangkan IP Address 192.168.1.1 (misalnya ini adalah IP Address kamu), dapat mengakses website dengan normal bukan di-redirect ke halaman maintenis.php.

5. Menonaktifkan wp-content/uploads Terindeks

Manfaat Menggunakan htaccess

Kejadian ini saya alami saat menggunakan VPS Hosting dengan Webuzo cPanel. Untuk memblokir agar wp-content/upload tidak terindeks oleh Google, letakkan kode berikut di .htaccess.

# Disable directory browsing
Options All -Indexes

6. Hanya Mengijinkan Akses File Tertentu di Directory

Folder wp-content berisi file tema, plugin serta file gambar yang kamu unggah, tentunya kamu tidak ingin berkas-berkas tersebut bisa diakses secara bebas.

Jika kamu ingin memblokir akses ke folder tersebut dan mengecualikan berkas-berkas seperti JPG, PDF, DOCX, CSS, JS, dan sejenisnya, masukkan kode berikut ke .htaccess.

# Disable access to all file types except the following
Order deny,allow
Deny from all
<Files ~ ".(xml|css|js|jpe?g|png|gif|pdf|docx|rtf|odf|zip|rar)$">
Allow from all
</Files>

7. Memblokir Seluruh Akses ke wp-includes

Folder wp-includes merupakan core dari sebuah CMS WordPress, jadi sudah selayaknya tidak ada yang bisa mengakses folder tersebut.

Jika kamu ingin membatasi akses ke folder wp-includes, letakkan kode berikut di htaccess.

# Block wp-includes folder and files
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^wp-admin/includes/ - [F,L]
RewriteRule !^wp-includes/ - [S=3]
RewriteRule ^wp-includes/[^/]+.php$ - [F,L]
RewriteRule ^wp-includes/js/tinymce/langs/.+.php - [F,L]
RewriteRule ^wp-includes/theme-compat/ - [F,L]
</IfModule>

8. Hanya Mengijinkan IP Tertentu untuk Mengakses wp-admin

Folder wp-admin berisi file yang diperlukan untuk menjalankan dashboard WordPress. Secara umum, pengunjung blog tidak memerlukan akses ke dasbor WordPress kecuali ingin melakukan registrasi.

Demi alasan keamanan, kamu bisa mengijinkan beberapa IP tertentu yang bisa mengakses folder wp-admin, misalnya editor, kontributor, admin dan lainnya.

Letakkan kode berikut di htaccess untuk memblokir seluruh IP mengakses wp-admin kecuali IP tertentu.

# Limit logins and admin by IP
<Limit GET POST PUT>
order deny,allow
deny from all
allow from 302.143.54.102
allow from IP_ADDRESS_2
</Limit>

9. Memproteksi wp-config.php dan .htaccess dari Siapapun

File wp-config.php dan .htaccess merupakan file pengaturan paling sensitif dari situs WordPress karena berisi nama database, password serta berbagai data penting lainnya.

Jika kamu ingin memproteksinya, letakkan kode berikut di htaccess.

# Deny access to wp-config.php file
<files wp-config.php>
order allow,deny
deny from all
</files>
# Deny access to all .htaccess files
<files ~ "^.*.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</files>

10. Mencegah Image Hotlink

Untuk mencegah blogger lain mengambil gambar dari blog kamu untuk dipasang di blog lain (hot-linking of images), letakkan kode berikut di .htaccess agar tidak membebani server hosting kamu.

# Prevent image hotlinking script. Replace last URL with any image link you want.
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourwebsite.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www.)?yourotherwebsite.com [NC]
RewriteRule .(jpg|jpeg|png|gif)$ https://i.ibb.co/bLdrrB8/plagiat.jpg [NC,R,L]

11. Mengaktifkan Browser Caching

# Setup browser caching
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 2 days"
</IfModule>

12. Mengaktifkan gzip compression

# compress text, html, javascript, css, xml
<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
  AddOutputFilterByType DEFLATE application/x-font
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/x-font-otf
  AddOutputFilterByType DEFLATE application/x-font-truetype
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE font/opentype
  AddOutputFilterByType DEFLATE font/otf
  AddOutputFilterByType DEFLATE font/ttf
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE image/x-icon
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/javascript
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/xml
</IfModule>

Demikianlah Manfaat dan Cara Menggunakan File htaccess [Kupas Tuntas].

Semoga bermanfaat.. !

Langit

Pecandu IT, pencinta seni fotografi dan penikmat kopi.. :)

No Comments Yet

Leave a Reply

Your email address will not be published.