Cara Melakukan Redirect Menggunakan .htaccess

redirect htaccess

Cara Melakukan Redirect Menggunakan .htaccess

Last updated on

redirect menggunakan .htaccess - redirect htaccess

Cara Melakukan Redirect Menggunakan .htaccess –  Secara otomatis, sebuah website normalnya akan dapat diakses dengan menggunakan www atau tanpa www. Namun, karena mesin pencari seperti google tidak mengizinkan hal tersebut atau akan melakukan pinalti karena akan menyebabkan duplicate content maka Anda harus memilih salah satu URL saja, dengan www atau tanpa www. Pada artikel ini, kami akan membahas tentang cara melakukan redirect menggunakan .htaccess.

Untuk pembahasan tentang perbedaan dan keuntungan menggunakan www dan non-www pada pembahasan Perbedaan WWW dan non-WWW untuk SEO. Kami juga menyarankan agar Anda mengecek pembahasan kami tentang Cara Mengubah URL WordPress Menjadi WWW.

Pengertian htaccess

Htaccess adalah file tersembunyi dengan format teks yang berada di server atau cPanel yang fungsinya untuk mengontrol pengunjung ketika mengakses website. Htaccess juga dapat berguna untuk memblokir beberapa traffic atau mengizinkan orang tertentu untuk mengakses file di website Anda.

Untuk melihat file Htaccess maka Anda harus mengaktifkan fungsi Show Hidden Files (dotfiles) dari File Manager >> Settings dan berikan centang pada Show Hidden Files (dotfiles).

Pengertian htaccess - show hidden file htaccess

Apa yang dapat dilakukan dengan Htaccess?

Selain digunakan untuk membuat redirect, .htaccess memiliki banyak fungsi atau manfaat. Berikut adalah beberapa contoh atau fungsi yang dapat dilakukan melalui .htaccess:

  • Melakukan Redirect URL – Seperti pada yang dibahas pada konten Redirect Menggunakan .htaccess
  • Memproteksi folder atau direktori dengan password
  • Melakukan custom halaman error seperti halaman 404 dan lain-lain
  • Mengubah ekstensi URL seperti permalink pada WordPress – Seperti pada pembahasan kami pada Cara Mengubah URL WordPress menjadi SEO. Pada konten tersebut, kami menambahkan .html di akhir url
  • Block dan allow atau izinkan beberapa IP tertentu untuk mengakses file atau website – Hal ini sama seperti pembahasan kami pada Aktifkan dan non-aktifkan xmlrpc.php WordPress di cPanel. Pada contoh tersebut kami mencontohkan akses file XMLRPC untuk IP tertentu
  • Mengubah atau mengaktifkan fungsi dan nilai php.ini
  • Dan lain-lain 🙂

Cara Membuat Htaccess

Htaccess dapat dibuat dengan sangat mudah. Untuk melakukannya, cukup login di file manager dan kemudian buatlah file dengan nama .htaccess.

Cara membuat Htaccess Htaccess dapat dibuat dengan sangat mudah. Untuk melakukannya, cukup login di file manager dan kemudian buatlah file dengan nama .htaccess. Setelah itu, masukkan konfigurasi .htaccess yang ingin Anda tambahkan. Misalnya, dalam kasus ini kami akan menambahkan konfigurasi .htaccess standard atau default dari wordpress: note: karena file htaccess tersebut berada di public_html dan di set RewriteBase / yang artinya akan bekerja pada semua direktori di public_html

Setelah itu, masukkan konfigurasi .htaccess yang ingin Anda tambahkan. Misalnya, dalam kasus ini kami akan menambahkan konfigurasi .htaccess standard atau default dari wordpress:

[pastacode lang=”php” manual=”%3CIfModule%20mod_rewrite.c%3E%0ARewriteEngine%20On%0ARewriteBase%20%2F%0ARewriteRule%20%5Eindex%5C.php%24%20-%20%5BL%5D%0ARewriteCond%20%25%7BREQUEST_FILENAME%7D%20!-f%0ARewriteCond%20%25%7BREQUEST_FILENAME%7D%20!-d%0ARewriteRule%20.%20%2Findex.php%20%5BL%5D%0A%3C%2FIfModule%3E%0A%0A%23%20END%20WordPress” message=”” highlight=”” provider=”manual”/]

note: karena file htaccess tersebut berada di public_html dan di set RewriteBase / yang artinya akan bekerja pada semua direktori di public_html

Mengapa Harus Melakukan Redirect

Redirect adalah hal yang sangat penting karena akan membantu mesin pencari mengenali url pada website Anda apakah masih valid atau tidak. Dengan melakukan redirect halaman atau url yang tidak valid/broken akan diarahkan ke halaman yang benar atau valid maka secara otomatis akan membantu memberitahu mesin pencari memperbaiki crawl pada website Anda dan juga pengunjung website Anda akan dibawa ke halaman yang benar ketika mengaksesnya.

Pada wordpress, Anda dapat melakukan redirect dengan mudah dengan menggunakan plugin redirect. Anda cukup menginstal plugin tersebut dan kemudian melakukan konfigurasi di dalamnya.

Cara Melakukan Redirect Menggunakan .htaccess

Di artikel ini kami hanya akan membahas cara melakukan redirect dengan menggunakan .htaccess dan untuk redirect dengan menggunakan plugin wordpress atau dengan cara lainnya akan kami bahas di artikel selanjutnya.

Redirect non-www ke www .htaccess

Untuk melakukan redirect non-www ke www, maka Anda dapat menambahkan baris perintah berikut pada .htaccess Anda:

[pastacode lang=”php” message=”” highlight=”” provider=”manual” manual=”RewriteCond%20%25%7BHTTP_HOST%7D%20%5Edomainanda.com%20%5BNC%5D%0ARewriteRule%20%5E(.*)%24%20http%3A%2F%2Fwww.domainanda.com%2F%241%20%5BL%2CR%3D301%5D”/]

Redirect www ke non-www .htaccess

Untuk redirect www ke non-www, maka Anda dapat melakukan dengan menambahkan baris perintah berikut pada .htaccess:

[pastacode lang=”php” message=”” highlight=”” provider=”manual” manual=”RewriteCond%20%25%7BHTTP_HOST%7D%20%5Ewww.domainanda.com%20%5BNC%5D%0ARewriteRule%20%5E(.*)%24%20http%3A%2F%2Fdomainanda.com%2F%241%20%5BL%2CR%3D301%5D”/]

Redirect url tertentu ke url lain dalam satu website

.htaccess juga dapat digunakan untuk mengarahkan url tertentu yang sudah tidak digunakan ke url lain yang berkaitan dengan menambahkan baris perintah berikut:

[pastacode lang=”php” message=”” highlight=”” provider=”manual” manual=”Redirect%20301%20http%3A%2F%2Fdomainanda.com%2Furllama.html%20http%3A%2F%2Fdomainanda.com%2Furlbaru.html”/]

atau

[pastacode lang=”php” message=”” highlight=”” provider=”manual” manual=”Redirect%20301%20%2Furllama.html%20%2Furlbaru.html”/]

Redirect url tertentu ke url lain dalam satu website

Dengan .htaccess, Anda juga dapat mengarahkan url atau file tertentu ke website lain dengan menambahkan baris perintah berikut:

[pastacode lang=”php” message=”” highlight=”” provider=”manual” manual=”Redirect%20301%20%2Furllama.html%20http%3A%2F%2Fdomainbaru.net%2Furlbaru.html”/]

atau

[pastacode lang=”php” message=”” highlight=”” provider=”manual” manual=”Redirect%20301%20%2Furllama.html%20http%3A%2F%2Fdomainbaru.net%2Furlbaru.html”/]

Redirect seluruh website ke website lain

Untuk melakukan redirect seluruh isi website baik dengan www atau tanpa www ke website lain, maka dapat dilakukan dengan menambahkan baris berikut pada .htaccess:

[pastacode lang=”php” manual=”RewriteCond%20%25%7BHTTP_HOST%7D%20%5Edomainlama.com%20%5BNC%2COR%5D%0ARewriteCond%20%25%7BHTTP_HOST%7D%20%5Ewww.domainlama.com%20%5BNC%5D%0ARewriteRule%20%5E(.*)%24%20http%3A%2F%2Fdomainbaru.com%2F%241%20%5BL%2CR%3D301%2CNC%5D” message=”” highlight=”” provider=”manual”/]

Redirect Url Direktori ke Halaman Utama

Kita dapat melakukan redirect dari direktori ke halaman utama kita. Misalnya, sebelumnya kita memiliki url https://www.idsysadmin.com/blog dan karena beberapa hal kita memindahkan semua halaman blog tersebut ke website utama, yaitu https://www.idsysadmin.com. Untuk itu, kita dapat melakukan redirect menggunakan .htaccess dengan:

[pastacode lang=”php” manual=”RedirectMatch%20301%20%2Fblog%2F(.*)%20https%3A%2F%2Fwww.idsysadmin.com%2F%241″ message=”” highlight=”” provider=”manual”/]

Sebaliknya, jika ingin melakukan redirect dari https://www.idsysadmin.com ke https://www.idsysadmin.com/blog, maka kita dapat melakukan redirect menggunakan .htaccess berikut:

[pastacode lang=”php” manual=”RedirectMatch%20%5E%2F%24%20https%3A%2F%2Fwww.idsysadmin.com%2Fblog” message=”” highlight=”” provider=”manual”/]

Perbedaan utama antara Redirect dan RedirectMatch adalah bahwa Redirect hanya menggunakan pola tunggal yang artinya akan meredirect seluruh url sedangkan RedirectMatch sesuai pola yang ditentukan. Misalnya redirect /blog dan seterusnya.

Kita juga dapat melakukan redirect dari sub directory ke sub directory lainnya. Misalnya kita ingin melakukan redirect dari semua URL pada /blog/ (contoh: https://www.idsysadmin.com/blog/artikel-pertama) dan semua artikel yang ada pada /blog/ ke https://www.idsysadmin.com/tutorial/artikel-pertama, maka kita dapat menambahkan rule redirect .htaccess berikut:

[pastacode lang=”apacheconf” manual=”RedirectMatch%20301%20%2Fblog%2F(.*)%20https%3A%2F%2Fwww.idsysadmin.com%2Ftutorial%2F%241″ message=”” highlight=”” provider=”manual”/]

Bonus – Perbedaan Redirect 301 dan 302

Anda dapat melakukan redirect halaman ke halaman atau ke website lain dengan baik dengan menggunakan redirect 301 dan 302.

Contoh redirect 301

[pastacode lang=”php” manual=”Redirect%20301%20http%3A%2F%2Fdomainanda.com%2Furllama.html%20http%3A%2F%2Fdomainanda.com%2Furlbaru.html” message=”” highlight=”” provider=”manual”/]

Contoh redirect 302

[pastacode lang=”php” manual=”Redirect%20302%20http%3A%2F%2Fdomainanda.com%2Furllama.html%20http%3A%2F%2Fdomainanda.com%2Furlbaru.html” message=”” highlight=”” provider=”manual”/]

Namun, ada perbedaan mendasar yang perlu Anda ketahui tentang perbedaan redirect menggunakan .htaccess  redirect 301 dan 302 karena hal ini berkaitan dengan SEO dan berkaitan dengan bagaimana mesin pencari memperlakukan redirect yang Anda lakukan tersebut.

Ketika Anda melakukan redirect halaman dengan redirect 301 maka artinya Anda me-redirect atau mengalihkan pengunjung pada halaman tersebut ke halaman atau website lain secara permanen. Redirect 301 akan memberikan respon HTTP 301 yang artinya memberitahu pengunjung (termasuk mesin pencari) bahwa halaman tersebut dipindahkan secara permanen.

Sementara itu, redirect 302 akan memberikan respon 302 found pada HTTP yang artinya HTTP 302 memberitahu pengunjung halaman yang Anda redirect atau alihkan tersebut termasuk mesin pencari bahwa halaman tersebut telah dipindahkan sementara waktu.

Redirect 301 memberikan keuntungan jangka panjang misalnya untuk mengarahkan domain ke URL afiliasi dan lain-lain yang tentu waktunya sangat lama bahkan selamanya. Sedangkan 302 akan mengarahkan halaman ke url sementara waktu saja dan sangat berguna ketika Anda melakukan maintenance website Anda sehingga mesin pencari mengetahui redirect tersebut sementara waktu saja dan akan kembali menelusurinya dalam waktu dekat untuk mengetahui URL permanennya.

Dengan beberapa variasi redirect tersebut maka kami harap dapat membantu Anda dalam melakukan redirect menggunakan .htaccess  url yang mengalami broken link atau tidak terpakai ke halaman yang benar sehingga tidak mendapatkan pinalti dari google. Silakan share pendapat Anda atau bertanya terkait redirect dengan .htaccess melalui form komentar yang kami sediakan. Kami akan membantu permasalahan redirect yang Anda alami melalui komentar.

Semoga bermanfaat.


33 Comments

Rahmat

March 3, 2016 at 2:16 pm

terima kasih artikelnya sangat bermanfaat sekali

    SysAdmin

    March 26, 2016 at 9:06 pm

    Terimakasih atas feedbacknya dan sukses selalu.

For Guides

May 27, 2016 at 7:52 am

sangat membantu, terima kasih

flashlagu

July 2, 2016 at 10:23 am

terimakasih mas, download script punya orang tapi diredirect ahahah :v
saya coba ini mungkin membantu. terimakasih 🙂

    Wayan

    July 2, 2016 at 1:57 pm

    Terima kasih telah berkunjung. kalau masalah yang terjadi karena insstalasi themes atau plugin nulled atau bajakan atau dari sumber yang tidak dapat dipercaya maka solusinya adalah menghapus script tersebut. Hal ini karena script tersebut telah disisipi malware di dalamnya.

    Informasi pada artikel kami ini mungkin dapat membantu:

    Membersihkan malware wordpress

    Perlunya menggunakan versi wordpress terbaru

    Semoga bermanfaat.

      Ngurah Arnawa

      August 27, 2016 at 2:06 pm

      bli, tiyang nak bali salam kenal, kalau redirect melalui httcasses error 404 biar sekalian ke home bagaimana caranya ya?

shavira

July 27, 2016 at 5:19 am

Thanks artikelnya. sangat membantu

agung

September 5, 2016 at 9:55 am

kalo direct https ke http gimana ya gan 🙁
aku lagi problem ni, semua link double

    Wayan

    September 9, 2016 at 4:05 pm

    Jika wordpress, cobalah rename .htaccess Anda menjadi htaccess.bak dan ubah base urlnya dari menu General >> Settings. Dengan begitu, url Anda akan kembali.

Download Game Android

September 9, 2016 at 3:58 pm

pertamax,,, ijin coba dulu

    Wayan

    September 9, 2016 at 5:35 pm

    silakan. kami harap dapat membantu dan memberikan pengetahuan untuk semua pembaca tentan cara menggunakan .htaccess dengan benar 🙂

Muh Imam Samur

September 10, 2016 at 8:03 pm

kalo redirect dari domain satu ke domain yang lain dalam satu hosting bisa ngk yahh???

    Wayan

    September 17, 2016 at 6:07 am

    Tentu bisa. Jadi, untuk melakukan redirect ke domain atau website lain dapat menggunakan:

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

Search Lagu

September 16, 2016 at 10:11 pm

saya baru tahu kalau redirect 301 302 itu beda, terimakasih atas informasinya yang sangat membantu saya..

    Wayan

    September 17, 2016 at 6:06 am

    Benar sekali. Redirect htaccess dengan 301 artinya adalah redirect permanen dan redirect dengan 302 artinya adalah redirect temporary. Ini sangat penting untuk SEO jadi pastikan untuk menggunakannya dengan tepat.

Yudha

September 28, 2016 at 6:37 pm

Cara redirect akses www menjadi non-www pada Blogger gimana ya? Saya bingung, ga ada pilihan cpanelnya karena saya cuman beli domain saja. Terus supaya saya bisa masuk ke cpanelnya gimana ya? Terima kasih 😀

    Wayan

    October 3, 2016 at 5:39 am

    Untuk blogspot, hal ini tidak dapat dilakukan karena blogspot sendiri menggunakan CNAME untuk pointing ke server mereka. CNAME sendiri adalah record DNS untuk alias atau dengan kata lain adalah subdomain. Namun, Anda tidak perlu khawatir karena non-www (http saja) sudah otomatis diredirect ke www oleh blogspot sehingga secara SEO hal ini sangat baik. Pebedaan antara url www dan non-www dapat dicek pada: https://www.idsysadmin.com/perbedaan-www-dan-non-www-untuk-seo.html

    Kami sendiri lebih menyarankan untuk menggunakan url www daripada non-www. Di WordPress, redirect www ke non-www sangat mudah dilakukan dan silakan cek panduan berikut: https://www.idsysadmin.com/cara-mengubah-url-wordpress-menjadi-www.html

    Namun, jika Anda masih ingin menggunakan url tanpa www (non-www), maka kami sangat menyarankan agar melakukan migrasi blogspot ke wordpress. Panduan pada bahasan kami berikut dapat membantu Anda melakukan migrasi blogspot ke wordpress:

    https://www.idsysadmin.com/cara-migrasi-blogspot-ke-wordpress.html

kucing raas

November 17, 2016 at 1:50 am

kalo auto redirect seluruh link keluar ke sebuah halaman tententu gimana caranya gan?
tengkiyu

    Wayan

    November 17, 2016 at 11:02 pm

    Bisa dirinci maksud redirect link keluar? karena dengan redirect:

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

    Maka secara otomatis seluruh isi domain lama Anda akan di redirect ke domain baru.

adrian

November 23, 2016 at 12:15 am

saya ga paham ini mas
login kemana
buatnya di mana
simpennya di mana

bingung ga ada tutornya
mau ganti alamat situs yang dulu ke yg baru lewat google console tp ada step yg di haruskan saya buat file htaccess 301 dulu

    Wayan

    November 24, 2016 at 1:26 pm

    htaccess dapat dibuat di file home root website Anda. Jika Anda menggunakan cPanel, silakan akses file manager dan buatlah .htaccess di public_html Anda.

dendietutorial

November 27, 2016 at 7:38 pm

mantap sekali terima kasih banyak

Banjir Lagu

December 15, 2016 at 4:06 pm

saya sangat berterima kasih dengan adanya artikel ini sehingga saya dapat memindahkan pengunjung web saya yang lama ke domain yang baru,

    Wayan

    December 15, 2016 at 10:18 pm

    Terima kasih atas feedbacknya. pastikan juga Anda memahami redirect 301 dan 302 untuk memastikan SEO yang baik ketika melakukan redirect.

otista78

January 1, 2017 at 8:53 pm

selamat tahun baru 2017 gan! 🙂
mohon petunjuk gan, kalau ada subdomain misal site1.abc.com, ingin supaya kontennya / isi web nya sama dengan konten abc.com, tanpa merubah alamat url pada address bar (Tetap terbaca site1.abc.com).

Apakah ada script htaccessnya yg memungkinkan hal tsb gan?
kalau ada mohon dishare gan, kalau tidak ada saya harus gunakan apa gan? terimakasih gan.

    Wayan

    January 7, 2017 at 9:21 am

    Untuk hal tersebut tidak dapat dilakukan dengan melakukan redirect .htaccess. Solusi hal ini dapat dilakukan dengan menggunakan cname.

    Silakan akses dns editor Anda (jika pada cPanel ada di menu Advance DNS Zone Editor), ubah type record dari subdomain site1.abc.com ke CNAME dan arahkan ke domain abc.com.

    Dengan begitu, maka site1.abc.com akan menampilkan konten yang sama persis dengan konten abc.com tetapi URLnya site1.abc.com.

    Semoga bermanfaat.

narmadi

July 10, 2017 at 5:25 pm

Salam,

Mohon pencerahan jika kita ingin merubah semua ekstensi https ke http termasuk yang di dalam artikel-artikel terdahulu bagaimana caranya yah biar praktis tidak mengedit artikel satu persatu inner link tersebut?

Sebelumya saya ucapkan terima kasih.

Jonatan Ketty

June 4, 2018 at 11:06 am

Halo kak, kalo mau redirect dari folde utama project seperti public(pada hosting) ke 1 folder di dalam public yang terdapat file index.php seperti apa ya ?

    Wayan

    June 5, 2018 at 5:38 am

    Cara melakukan redirect .htaccess dari domain utama ke directory baru bisa di lihat di sini

Saitama Sensei

September 21, 2019 at 7:37 pm

Halo min, saya mau tanya kalau cara redirect seluruh url bagaimana yaa di satu domain yang sama, misal semua url lama domain.com/shop/produk1 diredirect ke domain.com/product/produk1 dengan jumlah yang banyak urlnya.jadi migrasinya dari url shop/produk1 ke product/produk1 dsb. Mohon infonya min. Thanks

    Wayan

    April 12, 2020 at 7:44 am

    Halo mas,

    Untuk melakukan redirect .htaccess dengan kondisi tersebut, maka kita bisa menggunakan redirect match (Lihat penjelasan pada: Redirect Url Direktori ke Halaman Utama).

    Dalam kasus mas ini, maka rulenya adalah:

    RedirectMatch 301 /shop/(.*) https://domain.com/product/$1

    Dengan begitu, semua url dari shop akan di redirect ke product.

    Note: pastikan url-nya sudah di-migrasikan dari backend dan jika menggunakan WordPress bisa menggunakan permalink.

× Ada yang ditanyakan?