Trong bài viết này, mình sử hướng dẫn các bạn sử dụng htaccess để redirect đường dẫn, điều hướng traffic website của bạn từ tên miền cũ, redirect sang tên miền mới.
301 Redirect trong .htaccess
Redirect 301 trong file tệp .htaccess của bạn cho phép các công cụ tìm kiếm và những người khác biết rằng một liên kết cũ đã được thay thế bằng một liên kết mới. Đó là phương pháp được đề xuất để điều hướng lưu lượng truy cập từ một trang hiện có.
Một số trường hợp redirect đường dẫn thường gặp
1. Redirect 1 đường dẫn đơn lẻ
Để chuyển hướng các đường dẫn đơn lẻ như bên dưới
http://example.com/old-path.html | => | http://example.com/new-path.html |
Bạn có thể sử dụng chuyển hướng 301 như thế này:
Redirect 301 /old-path.html /new-path.html
2. Redirect đường dẫn từ tên miền cũ sang tên miền mới
http://example.com/* | => | http://example.net/* |
Nếu bạn đã có một tên miền cũ như example.com, và bây giờ bạn đã quyết định bạn thực sự muốn sử dụng example.net cho trang web. Bạn có thể thiết lập chuyển hướng 301 cho toàn bộ miền, để người dùng khi truy cập đến đường dẫn cũ có thể ngay lập tức được chuyển hướng tới tên miền mới của bạn.
RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC]
3. Redirect đường dẫn từ www sang non-www
http://www.vinasupport.com/* | => | http://vinasupport.com/* |
Một công cụ tìm kiếm như Google sẽ xem example.com và www.example.com về cơ bản là hai trang web riêng biệt. Họ khuyên bạn nên chọn một 1 loại bạn muốn công cụ tìm kiếm hiển thị và sử dụng chuyển hướng 301 để redirect về 1 loại.
Để chuyển hướng đường dẫn từ www sang non-www trong htaccess các bạn có thể làm như sau:
RewriteEngine on RewriteCond %{HTTP_HOST} ^www.vinasupport.com [NC] RewriteRule ^(.*)$ http://vinasupport.com/$1 [L,R=301,NC]
4. Redirect đường dẫn từ http sang https
http://vinasupport.com/* | => | https://vinasupport.com/* |
Chrome và Firefox đã bắt đầu hiển thị các cảnh báo không an toàn trên các trang web không có chứng chỉ SSL. Không có SSL, trang web của bạn sẽ hiển thị không an toàn cho khách truy cập. Do đó, sử dụng kết nối được mã hóa SSL vì lý do an toàn. Việc redirect từ HTTP sang HTTPS trở nên rất quan trọng.
Để điều hướng website tới https chúng ta có thể làm như sau:
RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://vinasupport.com/$1 [R,L]
Nếu sử dụng Nginx các bạn có thể tham khảo bài viết Hướng dẫn Redirect từ HTTP tới HTTPS với Nginx Web Server
Nguồn: vinasupport.com
bài viết rất hay và có ý nghĩa, namgano
cám ơn bạn
code mới thấy rất hữu ích, xin cám ơn