Cách chuyển hướng (redirect) URL Nginx

Trong bài viết này, xTraffic.pep.vn sẽ hướng dẫn bạn cách chuyển hướng (redirect) website trên Web Server sử dụng .

Những trường hợp cần chuyển hướng website

  • Khi bạn có domain chính + domain phụ và muốn chuyển hướng tất cả các truy cập từ domain phụ qua domain chính
  • Khi bạn có 1 domain mới + 1 domain cũ đang sử dụng trước đó và bạn muốn chuyển tất cả các truy vấn từ domain cũ sang domain mới đăng ký
  • Khi bạn muốn chuyển hướng các truy vấn không có www (non-www – pep.vn) sang có www (www.pep.vn) hoặc ngược lại
  • Khi bạn muốn chuyển hướng các truy vấn không có https  (http://pep.vn) sang có https (https://pep.vn)

Cách chuyển hướng trên Nginx

Redirect từ cũ sang tên miền mới

Sau đây mình sẽ hướng dẫn cách chuyển hướng các truy vấn từ tên miền cũ là www.pepvn.com sang tên miền mới là www.pep.vn, bạn thêm dòng sau vào file config (.conf) của Nginx tại VPS chứa website www.pepvn.com :

server {
	listen   *:80;
	server_name www.pepvn.com;
	return 301 $scheme://www.pep.vn$request_uri;
}

Redirect non-www sang www

Cách chuyển hướng (redirect) URL Nginx - nginx redirect - Tin khác

Còn nếu bạn muốn chuyển hướng từ các truy vấn không có www như http://pep.vn sang truy vấn có www như http://www.pep.vn thì bạn thêm dòng sau vào file config (.conf) của Nginx tại VPS chứa website pep.vn :

server {
	listen   *:80;
	server_name pep.vn;
	return 301 $scheme://www.pep.vn$request_uri;
}

Redirect www sang non-www

Còn ngược lại, nếu bạn muốn chuyển hướng từ các truy vấn có www như http://www.pep.vn sang truy vấn không có www như http://pep.vn thì bạn thêm dòng sau vào file config (.conf) của Nginx tại VPS chứa website pep.vn :

server {
	listen   *:80;
	server_name www.pep.vn;
	return 301 $scheme://pep.vn$request_uri;
}

Redirect HTTP sang HTTPS

Nếu bạn muốn chuyển hướng từ các truy vấn không có https (SSL) như http://pep.vn sang truy vấn không có https như https://pep.vn thì bạn thêm dòng sau vào file config (.conf) của Nginx tại VPS chứa website pep.vn :

server {
	listen   *:80;
	server_name pep.vn;
	return 301 https://$server_name$request_uri;
}

Theo mặc định thì port 80 dành cho các truy vấn không có https, do đó tất cả các truy vấn đến port 80 sẽ chuyển thành các truy vấn có https (port 443)

Lưu ý : File cấu hình Nginx (.conf) thường được chứa trong thư mục “/etc/nginx/conf.d/“. Bạn nên tạo mỗi domain là một file cấu hình riêng để dễ quản lý và chỉnh sửa.