Chat
Kategori

Optimalkan load halaman website dengan mengatur cache melalui konfigurasi .htaccess

Kuantitas:
Beli sekarang
Optimalkan load halaman website dengan mengatur cache melalui konfigurasi .htaccess

Berhasil di tambahkan!

File .htacess diakses melalui FTP - FileZilla

File .htaccess (hypertext access) merupakan file konfigurasi webserver yang memungkinkan client mengatur secara custom atas pengaturan direcoty-directory yang berada didalam directory web server dengan mengenyapingkan pengaturan yang sudah ditentukan secara global.

Pengaturan konfigurasi web server global biasanya terdapat pada file httpd.conf didalam webserver apache. Pengaturan-pengaturan yang dapat difungsikan melalui file .htaccess diantaranya sebagai berikut:

Authorization, authentication
File .htacess dapat difungsikan untuk mengontrol hak akses pada directory tertentu berfungsi sebagai authorization atau authentication, didalam penggunaannya, biasanya file .htaccess akan mendeklarasikan dan meminta file lain yang berisi informasi username dan password autentikasi directory berupa file .htpasswd. contoh penggunaannya seperti berikut:

<Directory "/var/www/html/protected">
AuthType Basic
AuthName "Authentication Required"
AuthUserFile "/etc/htpasswd/.htpasswd"
Require valid-user
Order allow,deny
Allow from all
</Directory>

Rewriting URLs
Rewriting URLs biasan digunakan untuk membuat penulisan ulang alamat-alamat website (URLs/ Uniform Resource Locator) sesuai aturan penulisan berlaku dan yang ditentukan melalui pengaturan pada .htaccess. contoh penggunaan penulisan ulang URLs yang diatur melalui .htaccess:

# REDIRECT dari tanpa www menjadi ditambah www
RewriteCond %{HTTP_HOST} ^logiskomputer.com$
RewriteRule ^/?$ "http\:\/\/www\.logiskomputer\.com" [R=301,L]

Blocking
Blocking difungsikan untuk mengatur block (menolak atau memperbolehkan) dari sumber akses tertentu , dalam penggunaannya misal:

Order Deny,Allow
Deny from 192.168.1.1

SSI
Dapat difungsikan untuk mengktikfan Server Insede Include, referensinya bisa merujuk ke halaman dasar penggunaan SSI (maaf kepanjangan kalau didefinisikan) :D

Directory listing
Biasanya digunakan untuk mengatur menampilkan list/daftar file-file  atau subdirectory yang terdapat pada sebuah directory, melalui pengaturan directory listing user dapat mencegah suatu file atau directory untuk ditampilkan atau disembunyikan atau hanya akan difungsikan pada beberapa jenis file tertentu saja.

Customized error responses
Digunakan mengatur respon (tanggapan) server jika terjadi error pada sebuah directory yang diakses, dasar penggunaannya misal akan meredirect pada file tertentu jika respon error dengan kode-kode yang sudah ditentukan server apache, misal:

ErrorDocument 500 "Maaf, terdapat error pada script"
ErrorDocument 500 http://error.domainanda.com/error-file.html
ErrorDocument 404 /errors/file_tida_ada.html

MIME types
MIME (Multi-purpose Internet Mail Extensions) types, merupakan type-type atau jenis jenis file yang mungkin dapat difungsikan dalam komunikasi media internet. file-file yang didukung dapat di konfigurasi melalui file .htaccess seperti berhubungan dengan type yang diperbolehkan, yang ditolak, atau mengatur cache atas file-file tersebut.

Cache Control
File .htacess dapat mengontrol fungsi cache atas layanan file-file server, cache sendiri dapat dianggap sebagai penyimpanan sementara sebelum file-file tersebut dianggap kadaluarsa.

Sesuai judul blog, sebenarnya posting ini lebih mengarah pada mempercepat akses halaman website dengan menggunakan fungsi MIME Types dan control cache melalui .htaccess. berikut contoh script yang bisa ditambahkan untuk mengoptimalkan cache control yang akan berdampak pada cepatnya sebuah halaman website diakses. Copy script dibawah, tambahkan pada file .htaccess yang berada pada directory hosting anda.

<IfModule mod_expires.c>
 
    ExpiresActive on
    ExpiresDefault                                      "access plus 1 month"
 
  # CSS
    ExpiresByType text/css                              "access plus 1 year"
 
  # Data interchange
    ExpiresByType application/json                      "access plus 0 seconds"
    ExpiresByType application/ld+json                   "access plus 0 seconds"
    ExpiresByType application/vnd.geo+json              "access plus 0 seconds"
    ExpiresByType application/xml                       "access plus 0 seconds"
    ExpiresByType text/xml                              "access plus 0 seconds"
 
  # Favicon (cannot be renamed!) and cursor images
    ExpiresByType image/x-icon                          "access plus 1 week"
 
  # HTML components (HTCs)
    ExpiresByType text/x-component                      "access plus 1 month"
 
  # HTML
    ExpiresByType text/html                             "access plus 0 seconds"
 
  # JavaScript
    ExpiresByType application/javascript                "access plus 1 year"
 
  # Manifest files
    ExpiresByType application/manifest+json             "access plus 1 year"
    ExpiresByType application/x-web-app-manifest+json   "access plus 0 seconds"
    ExpiresByType text/cache-manifest                   "access plus 0 seconds"
 
  # Media
    ExpiresByType audio/ogg                             "access plus 1 month"
    ExpiresByType image/gif                             "access plus 1 month"
    ExpiresByType image/jpeg                            "access plus 1 month"
    ExpiresByType image/png                             "access plus 1 month"
    ExpiresByType video/mp4                             "access plus 1 month"
    ExpiresByType video/ogg                             "access plus 1 month"
    ExpiresByType video/webm                            "access plus 1 month"
 
  # Web feeds
    ExpiresByType application/atom+xml                  "access plus 1 hour"
    ExpiresByType application/rss+xml                   "access plus 1 hour"
 
  # Web fonts
    ExpiresByType application/font-woff                 "access plus 1 month"
    ExpiresByType application/font-woff2                "access plus 1 month"
    ExpiresByType application/vnd.ms-fontobject         "access plus 1 month"
    ExpiresByType application/x-font-ttf                "access plus 1 month"
    ExpiresByType font/opentype                         "access plus 1 month"
    ExpiresByType image/svg+xml                         "access plus 1 month"
 
</IfModule>

Dari script diatas sesuaikan lama waktu cache dengan kebutuhan kita, kita juga boleh menambahkan MIME type/ file type apasaja selama kita perlukan. Untuk referensi MIME Type bisa googling atau salahsatu referensi klik link berikut

Referensi: diambil dari berbagai keterangan pada web

|| sekian dulu gan :D