Chuyển hướng liên kết là gì?
Chuyển hướng liên kết là hành động chuyển hướng một liên kết từ địa chỉ A sang một địa chỉ B, đây là một công việc mà các SEOer và Developer thường xuyên làm. Chuyển hướng liên kết có thể xuất phát từ những nhu cầu sau:
- Chuyển hướng toàn bộ website từ tên miền A sang tên miền B, 1 thư mục A sang 1 thư mục B hoặc 1 trang web A (web page – Url 1) sang trang web B (web page khác – Url 2).
- Thay đổi domain kém thân thiện thành một domain thân thiện với người dùng và Search Engine (URL Friendly).
- Thông báo với người dừng và SE biết URL 1 không còn sử dụng và đã chuyển hoàn toàn sang URL 2 nhằm tránh gây ra những liên kết gãy.
- Chuyển hướng trang web trong trường hợp 2 trang trùng lắp nội dung (duplicate content)
- Phục vụ cho các mục đích riêng khác của SEOer và Developer.
Các hình thức chuyển hướng lên kết
Chuyển hướng liên kết có hai hình thức.
- Chuyển hướng liên kết tạm thời (mã header: 302 Found). thông báo cho Search Engine biết URL 1 sẽ chuyển hướng tạm thời sang URL 2 (Temporary, cách này không có ý nghĩa trong SEO).
- Chuyển hướng liên kết vĩnh viễn (mã phản hồi header: 301 Moved Permanently) thông báo cho Search Engine biết URL 1 sẽ chuyển sang URL 2 vĩnh viễn, có nghĩa là tất cả những thế mạnh của URL 1 sẽ chuyển hết sang URL 2 (Cách này SEOer thường dùng).
Cách chuyển hướng liên kết trong Nginx
Để chuyển hướng liên kết trong nginx bạn phải có quyền truy cập và chỉnh sửa file config(có đuôi .conf) của vhost(domain).
File .conf mặc định của Nginx sẽ nằm trong thư mục /etc/nginx/sites-available/ tên file có thể là tenmiencuaban.conf.
Nếu bạn sử dụng VPSSIM để quản lý VPS thì file .conf sẽ có đường dẫn /ect/nginx/conf.d/.
Nếu sử dụng Centmin Mod để quản lý VPS thì file cấu hình vhost sẽ nằm ở thư mục /usr/local/nginx/conf/conf.d/ nếu website không sử dụng https thì file cấu hình sẽ có tên là domain.com.conf, nếu website sử dụng https thì file cấu hình có tên là domain.com.ssl.conf
Nếu bạn sử dụng các script khác để quản lý VPS thì có thể hỏi tác giả hoặc xem hướng dẫn sử dụng để biết chính xác file cấu hình nằm ở đâu.
Chuyển hướng một trang cũ sang trang mới
Trường hợp website của bạn có một trang là domain.com/trangcu và mới sửa thành domain.com/trangmoi nhưng trên kết quả tìm kiếm vẫn hiện là domain.com/trangcu và bạn muốn người dùng khi click vào domain.com/trangcu sẽ tự chuyển sang domain.com/trangmoi thì ta có thể sử dụng cú pháp dưới đây để cấu hình Nginx.
Chuyển hướng tạm thời
server {
rewrite ^/trangcu$ http://www.domain.com/trangmoi redirect;
}
Chuyển hướng vĩnh viễn
server {
rewrite ^/trangcu$ http://www.domain.com/trangmoi permanent;
}
Chuyển hướng từ www sang non-www
server {
server_name www.domain.com;
rewrite ^/(.*)$ http://domain.com/$1 permanent;
}
Chuyển hướng từ non-www sang www
server {
server_name domain.com;
rewrite ^/(.*)$ http://www.newdomain.com/$1 permanent;
}
Chuyển hướng sang tên miền mới trong nginx
Vì một lí do nào đó bạn cần đổi tên miền của website, trong trường hợp này việc chuyển hướng URL từ tên miền cũ về tên miền mới là hành động cần thiết để đảm bảo người dùng vẫn truy cập được website của bạn bằng tên miền mới, và Search Engine cũng biết được rằng bạn website của bạn đã chuyển sang tên miền mới.
Ta sử dụng đoạn mã sau để chuyển hướng tên miền cũ về tên miền mới trong nginx.
server {
server_name tenmiencu.com;
rewrite ^/(.*)$ http://tenmienmoi.com/$1 permanent;
}
Chuyển hướng tên miền sử dụng https
server {
listen 80;
listen [::]:80;
server_name tenmiencu.com www.tenmiencu.com;
return 301 https://tenmienmoi.com$request_uri;
}
Trên đây là một số cách để chuyển hướng URL trong Nginx, sau khi thực hiện việc thay đổi mã trong file cấu hình nginx, bạn nên chạy lệnh sau để kiểm tra xem file cấu hình đã chính xác chưa:
nginx -t
Nếu không xuất hiện thông báo lỗi, ta khởi động lại nginx để các thay đổi trong file cấu hình được áp dụng.
service nginx reload
Chúc các bạn thành công!
trong ngix làm sao direct dc link .html sang dạng có dấu / bác
Chào bạn, mình ko rõ là bạn cần direct một url trên trang của bạn hay bạn cần direct trang cũ sang trang mới?
Nếu bạn direct một urls trên web hiện tại thì có thể dùng cách sau
server {
# Permanent redirect to an individual page
rewrite ^/trangcu$ http://tenmien.com/trangmoi/ permanent;
}