[Mẹo] Cách redirect 301 bằng file htaccess thay đổi đường dẫn Seo
Một số sử dụng phổ biến của một 301 chuyển hướng .htaccess:
- Chuyển hướng các tệp riêng lẻ trên cùng một tên miền: Một tệp tin cũ đã di chuyển vị trí, hoặc thông tin bây giờ được chứa trong một tệp mới.
- Chuyển hướng miền cũ sang tên miền mới: Bạn đã di chuyển trang web từ tên miền cũ sang tên mới và bạn muốn bất kỳ liên kết cũ nào đi tới trang web mới. Buộc www. phiên bản của miền sẽ được sử dụng hoặc bạn có thể buộc không www. phiên bản của tên miền sẽ được sử dụng. Khách truy cập truy cập và liên kết đến trang web của bạn theo nhiều cách, chẳng hạn như example.com và www.example.com và bạn có thể thiết lập một cách làm phương pháp ưa thích mà trang web của bạn hiển thị.
- Chuyển hướng tất cả các tệp với phần mở rộng nhất định: Bạn đã từng có tất cả các tệp của mình sử dụng tiện ích mở rộng như .php và đã chuyển đổi mọi thứ sang .htm để sử dụng chuyển hướng 301, bạn có thể cập nhật tất cả liên kết để sử dụng tiện ích mở rộng mới.
Trên máy chủ Linux, bạn sẽ sử dụng tệp .htaccess của mình để thực hiện chuyển hướng 301 cho các trang của bạn.
1. Chuyển hướng cho các địa chỉ cụ thể
Nếu bạn đang có một liên kết dạng example.com/oldfile.htm và muốn chuyển thành newfile.htm thêm dòng sau vào file htaccess:
Redirect 301 /oldfile.htm /newfile.htm

Nếu bạn đang có một liên kết dạng example.com/oldfile.htm và bạn muốn chuyern thành example.net/newfile.htm:
Redirect 301 /oldfile.htm http://example.net/newfile.htm

2. Chuyển hướng cả tên miền cũ sang tên miền mới
Nếu bạn đã di chuyển trang web sang tên miền mới và bạn muốn chuyển hướng các URL trên tên miền cũ, ví dụ với tên miền example.com, và chuyển hướng sang tên miền example.net bạn cần thiết lập chuyển hướng 301 cho tên miền example.com
Mã chuyển hướng từ example.com trong file .htaccess:
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]

Chuyển hướng tên miền từ không có www thành có www.
Đôi khi bạn muốn người dùng gõ URL của bạn là example.com và bạn muốn website tự chuyển thành www.example.com sử dụng các dòng lệnh bên dưới cho file .htaccess
RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301,NC]

Và chuyển hướng từ có www. sang không sử dụng www
Ngược lại với ở trên, bạn muốn chuyển từ có www thành không có www.
RewriteEngine on
RewriteCond %{HTTP_HOST} ^www.example.com [NC]
RewriteRule ^(.*)$ http://example.com/$1 [L,R=301,NC]

Chuyển hướng phần mở rộng của URL
Đôi lúc bạn lại muốn chuyển hướng dạng phần mở rộng của URL kiểu example.com/file.php thành example.com/file.htm
RewriteEngine On
RewriteCond %{REQUEST_URI} .php$
RewriteRule ^(.*).php$ /$1.htm [R=301,L]

Ok, chúc bạn thành công và xin lưu ý chuyển hướng cẩn thận vì có thể làm mất thứ hạng website của bạn trên Google.