Giới thiệu Nginx Redirect
Nginx (phát âm là engine-x) là một web server HTTP có mã nguồn mở hiệu suất rất cao. Nó hoạt động như một proxy hoặc proxy POP3/IMAP. Đây là web server rất phổ biến thứ ba và nổi tiếng với hiệu suất nâng cao, dễ sử dụng; cấu hình ổn định và tiêu tốn nhiều thiểu tài nguyên. Đó là một trong những lý do tại sao trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách sử dụng Nginx redirect để chuyển hướng traffic theo các mục tiêu khác nhau.
Theo Datanyze, Nginx chiếm hơn 32% thị phần trên thị trường web server. Nó hỗ trợ rất nhiều trang web nổi tiếng như Github, Netflix, CloudFlare, Hulu, Airbnb, Hulu, WordPress và nhiều trang web khác.
Nginx Redirect trên Linux
Khả năng chuyển tiếp URL của trang web đến một địa chỉ trên google hoặc một nơi khác dựa trên tiêu chí riêng là tính năng thiết yếu của web server Nginx. Redirect Nginx rất đơn giản và rất dễ cài đặt. Thông thường thì người dùng chọn một trang có xếp hạng SEO tốt. Chẳng hạn, nếu như chuyển từ CMS sang nền tảng khác. Điều này sẽ làm thay đổi hoàn toàn phần URL. Vì vậy, để giữ cho một trang hiện tại ở vị trí SERP tốt, bạn có thể định tuyến URL cũ đến trang mới.
Trong bài này, chúng tôi sẽ hướng dẫn bạn tạo hai loại Nginx redirect: vĩnh viễn và tạm thời. Hãy nhớ cài đặt Nginx trên VPS của bạn trước.
Giải thích về Nginx tạm thời và vĩnh viễn
Redirects tạm thời mang lại lợi ích nếu vị trí 1 trang cần thay đổi từ vị trí này sang vị trí tạm thời khác. Redirects sẽ phản hồi lại mã 302 để chỉ định dịch chuyển tạm thời của trang đó.

Nếu trang web đang trong thời gian bảo trì, redirects nó tạm thời được dùng để thông báo cho người dùng rằng trang web này hiện không khả dụng. Khi bạn thực hiện redirect tạm thời của một trang không hoàn chỉnh; bạn cần liên kết trang đó đến nơi khác hoặc đến trang chính:
Khách truy cập(Use)–> Trang web–> Trang web đang được bảo trì
Mặt khác, redirect Nginx vĩnh viễn sẽ thông báo cho trình duyệt web về liên kết vĩnh viễn trang hoặc tên miền cũ với một vị trí hoặc tên miền mới. Để đánh dấu sự thay đổi này, redirect sẽ phản hồi mã 301 để chỉ định hướng chuyển động vĩnh viễn của trang. Các loại redirects này rất hữu ích khi người dùng muốn thay đổi tên miền và không còn truy cập trình duyệt.
Redirect trang trong Nginx
Nhớ rằng khi bạn cần truy cập VPS của mình trước thông qua SSH.
Trong Nginx, hầu hết các redirects có thể thực hiện với tính năng viết lại. Đây là một tính năng mặc định và có sẵn trên bản cài đặt của Nginx, và có thể tạo ra cả hai loại Nginx redirect – vĩnh viễn và tạm thời. Ở dạng đơn giản và có tối thiểu hai trường hợp, là URL cũ và URL mới.
Redirect đến các trang đến vị trí tạm thời hoặc vĩnh viễn trên web server Nginx thật đơn giản và dễ dàng. Ở chỗ /etc/nginx/sites-enabled/default, dán mã code sau đây, đồng thời thay đổi các biến cho phù hợp với mọi nhu cầu của bạn:
Vị trí path_pattern { viết lại ^ / oldURL $ https://www.domainone.com/newURL ; }
Nếu bạn muốn redirect trang này sang liên kết khác vĩnh viễn, hãy dùng “permanent” thay cho “redirect” trên các lệnh trên. Bên cạnh đó, path_parent thường là /index.html.
Nginx Redirect một tên miền
Để redirect tên miền này sang tên miền khác, dùng lệnh dưới đây trong terminal:
người phục vụ { nghe 80; tên máy chủ devisers.in www.devisers.in; viết lại ^ http: //www.devisers.com$request_uri? dài hạn; }
Ở đây tôi sử dụng hai tên miền. Tên miền mà bạn muốn redirect – www.devisers.in và tên miền mới – www.devisers.com
Redirect Nginx từ HTTP sang HTTPS (SSL)
HTTP và HTTPS sử dụng những cổng khác nhau – HTTP cổng 80 và HTTPS cổng 443. DÙng HTTPS sẽ có nhiều lợi thế hơn vì nó bảo vệ bạn khỏi các cuộc tấn công của MITM nhằm chiếm quyền điều khiển phiên làm việc. Hãy nhớ rằng, để phương thức này hoạt động, các bạn cần phải thiết lập SSL. Vì vậy, để bảo vệ tất cả thông tin được gửi giữa bạn và khách truy cập(user), redirect tất cả các yêu cầu từ HTTP sang HTTPS sẽ rất có ích. Do đó, chúng ta có thể thêm những sửa đổi này vào cùng một tệp:
người phục vụ { lắng nghe 80 default_server; tên máy chủ _; trả về 301 https: // $ host $ request_uri; }
Giờ tất cả lưu lượng truy cập cho server mặc định HTTP sẽ redirects đến HTTPS.
Nginx Redirect sang các trang web cụ thể
Sẽ rất cần thiết nếu bạn dùng nhiều trang web hoặc apps khác nhau và chỉ muốn redirect một trang web duy nhất. Làm theo các bước sau đây:
người phục vụ { nghe 80; server_name devisers.in; trả về 301 https: //devisers.in$request_uri; }
Ở đây, tôi đang redirect trang web http://www.devisers.in sang https://www.devisers.in
Redirect từ www sang không-có-www
Có lúc bạn muốn khách truy cập vào tên miền đơn giản của trang web như devisers.in thay vì www.devisers.in. Mặc dù có rất nhiều tùy chọn để redirect từ www sang không-có-www trong Nginx, đây là một trong những cách dễ làm:
người phục vụ { server_name www.devisers.in; trả về lược đồ 301 $: //devisers.in$request_uri; }
Quan trọng: Đây là một Redirect vĩnh viễn hoặc “Redirect 301”.
Khởi động web server Nginx để thực hiện bằng lệnh:
sudo systemctl khởi động lại Nginx
Nếu bạn muốn chuyển hướng từ không www sang www, chỉ cần thay thế URL trang web được đề cập trong lệnh trên. Thay thế www.devisers.in bằng devisers.in và ngược lại.
Bạn có thể quan tâm: Redirect là gì? Các loại Redirect 301, 302, 307 cần biết
Cách Tracking địa chỉ IP truy cập vào Website bằng Google Analytics
Canonical là gì? Sử dụng thẻ Canonical hiệu quả năm 2020
Tóm lại
Nginx là một trong những web server mạnh và dễ sử dụng nhất, cho phép thực hiện redirect tạm thời và vĩnh viễn .
Bây giờ có lẽ bạn đã biết cách redirect Nginx từ HTTP sang HTTPS, từ www sang không www hoặc ngược lại. Bạn cần đảm bảo redirect chính xác, vì nếu không sẽ ảnh hưởng đến thứ hạng tìm kiếm của bạn. Với sự trợ giúp của redirects chính xác, bạn có thể tận dụng các trang web hiện tại trong quá trình để thay đổi cấu trúc trang được yêu cầu.
Chúng tôi hy vọng hướng dẫn Nginx Redirect này có thể giúp ích cho bạn! Hẹn gặp lại trong một bài viết khác.
100 lần tự tìm hiểu cũng không bằng 1 lần được tư vấn