Cara Redirect 301 Website Menggunakan Htaccess
Ada banyak rules untuk redirect 301 yang bisa kita gunakan melalui file htaccess. Melakukan redirect itu sendiri, berarti kalian akan mengalihkan suatu URL ke URL lainnya dengan sempurna. Sedangkan 301 berarti, pengalihan itu akan bersifat permanen.
Fakta menyebutkan bahwa Redirect 301 ternyata sangat aman terhadap SEO website dan juga sangat ampuh untuk mengatasi masalah 404 error. Namun gimana sih cara menggunakan redirect 301 di website menggunakan file htaccess? Terutama untuk website berbasis WordPress.
Apa Itu File Htaccess?
File .htaccess, atau Hypertext Access, adalah file teks konfigurasi yang bisa mengontrol segala aktifitas Website di server Apache. Kalian mungkin bisa melihat file .htaccess di direktori root website. Terutama jika kamu menggunakan WordPress, Joomla, Drupal. File .htaccess ini berfungsi untuk menyertakan instruksi yang spesifik ke server menggunakan rules.
301 Redirect Rules di Htaccess
Untuk mengedit file .htaccess, kalian perlu masuk ke dalam direktori server. Setelah itu, membuka file tersebut dengan text editor. Salah satu program terbaik menurut saya adalah Notepad++, yang bisa di integrasikan dengan filezilla ftp. Kalau sudah dibuka, tinggal ketikan kode perintah yang diinginkan. Berikut ini perintah atau rules yang bisa kita gunakan untuk redirect di htaccess.
1. Redirect Single Page ke URL Lain
Redirect 301 /pagename/ http://www.domain.com/halaman-lain/
2. Redirect 301 Seluruh Site ke Domain Baru
Redirect 301 / http://www.domain.com/
3. 301 Redirect Seluruh Site ke Subfolder
Redirect 301 / http://www.domain.com/subfolder/
4. Redirect 301 Subfolder ke Domain Lain
Redirect 301 /subfolder http://www.domain.com/
5. Rewriting Redirect dari Domain Lama ke Domain Baru
RewriteEngine on RewriteBase / RewriteRule (.*) http://www.newdomain.com/\ [R=301,L]
6. Rewriting dari non-www ke www subdomain
RewriteEngine on RewriteBase / rewritecond %{http_host} ^domain.com [nc] rewriterule ^(.*)$ http://www.domain.com/\ [r=301,nc]
7. Redirect domain ke www location dengan subdirectory?
RewriteEngine on RewriteBase / RewriteCond %{HTTP_HOST} domain.com [NC] RewriteRule ^(.*)$ http://www.domain.com/directory/index.html [R=301,NC]
8. Redirect site HTTP ke HTTPS
RewriteEngine on RewriteCond %{HTTPS} on RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
9. Menghapus index.php atau index.html ke Root Domain
RewriteEngine On RewriteCond %{THE_REQUEST} /index.php HTTP [NC] RewriteRule (.*)index.php$ /\ [R=301,L]
RewriteEngine On RewriteCond %{THE_REQUEST} /index.html HTTP [NC] RewriteRule (.*)index.html$ /\ [R=301,L]
10. Redirect URLs Query Parameter to Directory Root
Contoh : http://www.coba.com/index.php?id=100 menjadi http://www.coba.com/100/
RewriteEngine On RewriteRule ^([^/d]+)/?$ index.php?id=$1 [QSA]
11. Redirect URLs Kategori Parameter to Directory Root
Contoh : http://www.coba.com/index.php?category=fish ke http://www.coba.com/category/fish/
RewriteEngine On RewriteRule ^/?category/([^/d]+)/?$ index.php?category=$1 [L,QSA]
12. Rewrite Subdomain Blog menjadi Subdirektori Blog?
Contoh : blog.oldsite.com menuju www.newsite.com/blog/
Options +FollowSymLinks RewriteEngine On RewriteCond %{REQUEST_URI}/ blog RewriteRule ^(.*) http://www.somewhere.com/%{REQUEST_URI} [R=302,NC] RewriteRule ^(.*) http://www.somewhere.com/blog/%{REQUEST_URI} [R=302,NC]
13. Redirect Directory ke Directory lain
Options +FollowSymLinks RewriteEngine On RewriteRule ^(.*)/old-directory/(.*)$ $1/new-directory/\ [R,L]