Htaccess dan Fungsinya
- Administrator
- Htaccess, , Site url, Https, Ssl
- 2742 Kali Dilihat
- 3 Komentar
Apakah .htaccess itu? Fungsinya apa?
file .htaccess adalah file text sederhana dalam format ASCII. Pada umumnya kita bisa menggunakan
file .htaccess untuk merubah beberapa konfigurasi untuk mengarahkan pada web server Apache.
File .htaccess dapat ditaruh dimapun pada folder website Anda.
Hal-hal yang dapat anda lakukan pada file .htaccess:
→Mencegah pengunjung melakukan browsing direktori
→Me-redirect pengunjung dari satu halaman ke halaman lain
→ Memberi proteksi password pada direktori
→ Mengubah default halaman index pada folder tertentu
→Mencegah hot-linking of images dari website
→Manipulasi atau custom URL, dan berikut adalah contoh penggunaan .htaccess:
Mengarahkan website anda dari non/tanpa www menjadi dengan/memakai www dan sebaliknya. Sebagai contoh jika anda ingin url website anda tampil pada browser dengan www, maka anda harus menambahkan barisan kode berikut:
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
di bawah kode
<IfModule mod_rewrite.c>
di atas kode
RewriteEngine on
Sehingga urutan kodenya sbb:
RewriteCond %{HTTP_HOST} !^www.
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}/$1 [R=301,L]
RewriteEngine on
Dan diikuti barisan kode lainya,
Hal lain yang dapat dilakukan dengan .htacces, diantaranya:
1.→Menambah halaman tertentu(misalnya order.php,dll)
Pada saat anda menambahkan sebuah halaman tanpa melalui dashboard admin, sebagai contoh pada website multibisnisindo saya menambahkan halaman "ketentuan layanan multibisnisindo(termsofservice.php)" dan halaman "paket company profile(companypackages.php)". Maka pada file .htaccess pada folder public_html anda harus menambahkan file untuk mengindex halaman tersebut sbb:
RewriteRule ^companypackages$ index.php?mod=companypackages [L]
RewriteRule ^termsofservice$ index.php?mod=termsofservice [L]
→Jika tidak maka halaman anda tidak dapat di akses atau "page not found."
2.Menambah halaman pesan error sendiri
Dengan menggunakan file .htacces, Anda dapat membuat halaman pesan kesalahan yang dapat dilakukan untuk website Anda sendiri dan tidak perlu menggunakan settingan default dari server. Dengan membuat halaman pesan seperti ini membuat website Anda terlihat lebih profesional dalam
menangani kesalahan yang terjadi bahkan juga mengijinkan untuk membuat script yang dapat memberitahu Anda jika terjadi kesalahan.
Dibawah ini adalah pesan kesalahan yang sering terjadi dan di buat sendiri oleh seorang developer:
→401 – Authorization Required
→400 – Bad request
→403 – Forbidden
→500 – Internal Server Error
→404 – Wrong page
Anda dapat menggunakan pesan kesalahan Anda sendiri selama mengetahui kode yang digunakan (contoh: 404 page not found) dengan menambahkan perintah ke dalam file .htacces Anda:
→ErrorDocument kode /file.html atau
→ErrorDocument kode https://www.namadomain/file.php
Contohnya jika Anda mempunyai file notfound.html di dalam root direktori dari website, Anda bisa menggunakannya untuk 404:
ErrorDocument 404 /notfound.html atau
ErrorDocument 404 https://www.namadomain/notfound.php
Namun jika file tersebut tidak berada di dalam root direktori dari website, Anda dapat menambahkannya struktur direktori seperti berikut:
ErrorDocument 404 /error/notfound.html
Kemudian buat file untuk menampilkan pesan kesalahan ketika kesalahan itu terjadi dan upload file-file tersebut, juga upload file .htaccess.
3. Mengijinkan/melarang index Terhadap Folder tertentu
Jika browsing pada folder yang belum diberikan file .htaccess, orang yang mengakses sebuah URL dari website Anda dimana folder tersebut tanpa halaman index, akan melihat list dari file dan folder yang terdapat di dalamnya. Untuk mencegah hal-hal seperti akses, dapat menaruh perintah seperti berikut:
IndexIgnore */*
Jika suatu saat kita perlu melakukan direktori browsing, dapat menaruh perintah pada file .htaccess:
Options +Indexes
4. Mencegah Hot Linking dan Bandwidth Leeching
Apabila website berisi gambar-gambar dan website lain melakukan link ke gambar kita untuk ditampilkan di website mereka, maka bandwidth yang kita miliki akan berkurang. Untuk mencegah hal tersebut, dapat menggunakan perintah:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www.)?domainAnda/.*$ [NC]
RewriteRule .(gif|jpg)$ – [F]
Perintah tersebut akan membuat direktori image hanya bisa diakses jika user sedang mengakses website anda.
5. Mencegah index Terhadap File .htaccess
Untuk mencegah pengunjung melihat file .htaccess kita, bisa menggunakan perintah dibawah ini pada file .htaccess:
order allow,deny
deny from all
6. Pengalihan atau redirect Halaman
File .htacces juga dapat difungsikan untuk melakukan pengalihan sebuah web atau sebuah halaman atau file html yang terdapat pada sebuah web menuju halaman lain yang sudah ditentukan. Hal ini biasa dilakukan ketika sedang dilakukan perawatan website oleh pengelola website.
Contohnya:
Redirect /home/html/web/index.html https://namadomain/home.html
Redirect permanent /olddirectory https://namadomain/newdirectory/
→pada baris pertama adalah perintah untuk redirect file index.html yang terdapat pada document root (/home/html/web) menjadi home.html
→pada baris kedua adalah perintah untuk redirect directory lama pada web anda diarahkan ke directory web yang baru.
7. Canonicalization
.htaccess yang paling umum adalah mengetahui apakah halaman home website Anda memiliki masalah canonicalization atau tidak. Canonicalization adalah satu website yang halaman home-nya memiliki format URL berbeda, seperti contoh: www.namadomain.com, namadomain.com, www.namadomain.com/index.html, namadomain.com/index.html.
Namun canonicalization tidak baik untuk sistem SEO, karena trafik menuju website dihitung sebagai URL yang berbeda, meskipun isinya sama. Anda bisa mengatasi Canonicalization dengan menambah script pada file .htaccess Anda, script tersebut akan membuat berbagai format URL Anda menuju ke
www.domainAnda.com:
Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^namadomain.com
RewriteRule (.*) https://www.domainAnda.com/$1 [R=301,L]
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9} /index.html HTTP/
RewriteRule ^index.html$ https://www.domainAnda.com/ [R=301,L]
Untuk menghilangkan slash diakhir URL, sehingga saat mengakses URL tanpa harus menambahkan slash atau garis miring diakhir URL tersebut tambahkan sebaris kode berikut didalam file .htaccess:
RewriteCond %{REQUEST_FILENAME} !-d
Tambahkan kode diatas dibawah kode:
RewriteCond %{REQUEST_FILENAME} !-f
Agar URL dapat diakses tanpa index.php, silahkan tambahkan kode berikut:
RewriteRule ^(.*)$ index.php/$1 [L]
8. Menentukan URL https://
Secara default penentuan URL terdapat pada dashboard admin pada menu pengaturan umum dan pada file root_dir/po-includes/core/config.php
Akan tetapi pada kenyataanya setelah URL ditentukan melalui dashboard admin pada menu pengaturan umum dan pada file root_dir/po-includes/core/config.php masih ada halaman tertentu yang jika diakses menunjukan tidak aman dengan munculnya icon atau tanda berwarna kuning.
Hal tersebut dikarenakan pada halaman tertentu atau dalam file tertentu pengelola website menambahkan URL tanpa https://, misalnya URL pada sebuah artikel, atau URL pihak ke tiga pada sebuah plugin.
Untuk mengatasi hal diatas maka perlu dilakukan perubahan pada artikel atau file terkait dimana URL ditambahkan, dan untuk itu tentu yang seharusnya melakukan adalah pengelola website atau pihak yang mengetahui dimana ada kemungkinan URL tertentu ditambahkan tanpa https://
9. Menampilkan URL https pada address bar
Setelah anda melakukan instalasi SSL dan menentukan URL sebagai https:// belum tentu URL yang tampil pada address bar akan terlihat lengkap dengan https://domain-name.com atau https://www.domain-name.com
Jika anda belum menentukan URL menggunakan WWW maka URL yang terlihat atau tampil pada address bar adalah domain-name.com, dan jika anda telah menentukan URL menggunakan WWW maka URL akan tampil sebagai www.domain-name.com
Agar URL tampil lengkap sebagai https://domain-name.com atau https://www.domain-name.com, maka anda harus menambahkan dua baris kode dalam file htaccess yang terletak pada root_dir/htaccess berikut:
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Pada baris kode .htaccess diatas saya menambahkan tanda panah sebagai penanda bahwa baris tersebut merupakan baris kode htaccess yang dimaksudkan. Jadi jika anda ingin memakai baris-baris kode .htaccess tersebut jangan sertakan tanda panahnya.
Semoga artikel ini dapat membantu anda memahami tentang .htaccess dan fungsinya.
Karyasindo Advertising
Terimakasih artikelnya sangat membantu pak..... Saya sedang mencari referensi cara menentukan URL menggunakan www. Kebetulan ini artikelnya pass banget.
ClieePes
http://gov.shortcm.li/kings1#F30