Cách chuyển hướng liên kết trong Nginx

Cách chuyển hướng liên kết trong Nginx

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!

0 0 votes
Đánh giá bài viết
Đăng kí
Thông báo khi
guest

2 Comments
cũ nhất
mới nhất
Inline Feedbacks
View all comments
Phong Nguyen
Phong Nguyen
Khách
12/09/2020 2:19 pm

trong ngix làm sao direct dc link .html sang dạng có dấu / bác