Hướng dẫn xoá chuổi query string fbclid trên NGINX

Query String là gì?

Query String là tập hợp các dữ liệu ở dạng key=value mà ta đưa vào đằng sau URL của website, trường hợp có nhiều cặp key=value thì ta sử dụng dấu & để ngăn cách giữa chúng. Thông thường ta sử dụng Query String để truyền tải dữ liệu lên server và ta hay gọi đây là phương thức GET.

Trong PHP các Query String sẽ được lưu trữ trong mảng $_GET, trong đó key chính là phần phía trước dấu = và value chính là phần phía sau dấu =.

Trước khi tìm hiểu Query String là gì thì PowerNet phân tích một chút về cấu trúc URL của một Website đã nhé. Giả sử PowerNet có một URL như sau:

https://wordpress.powernet.website/sample-page/?fbclid=IwAR2wFPX4qXQOZBT61xVrd8P9wwySZUxn21DbSYn4fnfRofihsnRO17O0oW0

Trong URL này mình sẽ phân ra làm 2 đoạn để bạn dễ hình dung

    • Đoạn 1: Phần URL chính của trang: https://wordpress.powernet.website/sample-page/
    • Đoạn 2: Phần đuôi đằng sâu dấu ? : ?fbclid=IwAR2wFPX4qXQOZBT61xVrd8P9wwySZUxn21DbSYn4fnfRofihsnRO17O0oW0

Như vậy trong URL trên thì Query String chính là Đoạn thứ 2

Mình sẽ thực hiện thực hiện Xoá bỏ chuổi Query String fbclid đối với các request vào. Bên dưới là một tấm ảnh gốc ban đầu khi chưa xoá bỏ. Truy cập các link từ Facebook sang chuổi vẫn còn

Các bước thực hiện

Bước 1: Sửa File nginx.conf

Bạn hãy mở file nginx.conf sau đó thêm vào đoạn mã sau. Nếu bạn không biết Fle nginx.conf ở đâu có thể sử dụng lệnh nginx -t để xem nhanh

Lưu ý: Thêm bên trong block http {

# redirect map in http block - remove fbclid argument from the end
  map $request_uri $redirect_fbclid {
    "~^(.*?)([?&]fbclid=[a-zA-Z0-9_-]+)$"  $1;
  }

Bước 2: Cấu hình trong vHost Domain

Tiếp theo bạn mở File config vhost Domain và thêm vào trong block server { đoạn mã sau

    # if redirect map is active, do 301 to the new url
    if ( $redirect_fbclid ) {
      return 301 $redirect_fbclid;
    }

Bây giờ bạn hãy kiểm tra lại cấu hình có lỗi không với lệnh nginx -t. Nếu trả về kết quả như ảnh đính kèm và dòng thông báo nginx: the configuration file syntax is ok thì không lỗi. Bây giờ bạn khởi động lại NGINX và kiểm tra kết quả

Nếu các bạn cần hỗ trợ các bạn có thể liên hệ bộ phận hỗ trợ theo các cách bên dưới:
Tel: 0236 267 5555
Hotline : 0979 347 999
Ticket: Bạn sử dụng Email đăng ký dịch vụ để truy cập vào hệ thống Ticket và gửi yêu cầu
Email: Bạn có thể dùng email đăng ký dịch vụ gửi trực tiếp về: support@powernet.vn

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *