[LENGKAP] Redirect dan Rewrite URL Menggunakan File .htaccess

    Tutorial Htaccess Lengkap

     Sebuah file .htaccess sangat berpengaruh terhadap SEO (Search Engine Optimization), mungkin beberapa orang tidak menyadari hal itu.

    Padahal jika file .htacces yang ditulis dengan baik akan membuat website / blog lebih dapat diindeks oleh mesin pencari (seperti: Google, Bing, Duckduckgo dll) , mudah di-crawl dan banyak lagi.

    Jika Anda menginginkan URL yang SEO friendly dan User Friendly maka dengan file .htaccess inilah salah satu cara yang tepat untuk hal tersebut.

    Bagi Anda yang menggunakan platform Blogger.com sebagai tempat untuk meng-hosting blog, Anda tak perlu mengutamakan file htaccess ini...

    Tapi bagi Anda yang mengelola website atau blog dengan CMS (Content Management System) WordPress maupun CMS buatan sendiri, artikel tentang konfigurasi htaccess ini mungkin akan berguna untuk Anda.

    Apa itu .htaccess?

    .htaccess (kependekan dari 'hypertext access') adalah file konfigurasi untuk digunakan di server web yang menjalankan perangkat lunak Apache Web Server.

    File .htaccess ini dapat digunakan untuk mengubah konfigurasi perangkat lunak Server Web Apache untuk mengaktifkan / menonaktifkan fungsionalitas dan fitur tambahan.

    Umumnya file htaccess sudah terdapat pada file manager hosting. Jika Anda tidak menemukannya, Anda dapat memunculkan file Htaccess dengan cara membuka File Manager > klik Settings kemudian centang pilihan Show Hidden Files (dotfiles) > Save.

    Bagaimana cara kerja .htaccess?

    File .htaccess ditempatkan pada direktori di server web. Kemudian dijalankan oleh server web Apache ketika permintaan dibuat dari direktori itu.

    Umumnya file .htaccess diletakan di direktori root situs, misalnya /public_html. Ini mengkonfigurasi server web untuk seluruh situs web. Namun, banyak juga yang menempatkan file .htaccess di sub-direktori, untuk penggunaan khusus.

    Tutorial Rewrite/Redirect URL dengan .htaccess

    Penting untuk diketahui bahwa file .htaccess, seperti file konfigurasi Apache lainnya, yaitu dibaca dari atas ke bawah. Ini berarti bahwa konfigurasi paling atas akan dijalankan sebelum yang di bawahnya.

    Anda perlu memperhatikan urutan aturan tersebut untuk memastikannya berfungsi dengan benar dan efisien.

    Karena, jika terdapat kesalahan penulisan dapat menyebabkan server Anda salah konfigurasi, yang mengakibatkan situs web Anda tidak berfungsi/error, jadi Anda harus lebih berhati-hati dalam membuat settingan htaccess.

    Redirect non www ke www

    RewriteEngine On
    RewriteCond %{HTTP_HOST} !^www.namadomain.com$ [NC]
    RewriteRule ^(.*)$ http://www.namadomain.com/$1 [L,R=301]

    Redirect www ke non www

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www\.namadomain\.com$
    RewriteRule ^/?$ "http\:\/\/namadomain\.com\/" [R=301,L]

    Redirect domain lama ke domain baru

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

    Redirect file/directori atau redirect file ke domain lain

    Redirect 301 /about-me /tentang-saya
    Redirect 301 /about-me http://domainlain.com/tentang-saya

    Force Https

    RewriteEngine On
    RewriteCond %{HTTPS} !on
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    Custom Error 404 Not Found

    ErrorDocument 404 /halaman-404.html

    Menambahkan trailing slash atau garis miring di akhir URL

    RewriteCond %{REQUEST_URI} !(.+)/$
    RewriteCond %{REQUEST_FILENAME} -d
    RewriteRule ^(.+)$ https://www.namadomain.com/$1/ [R=301,L]

    Remove trailing slash jika bukan directory

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^(.*)/$ https://www.namadomain.com/$1 [R=301,L]

    Dah TQ...