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ì mình phân tích một chút xíu về cấu trúc URL của một website đã nhé. Giả sử mình có một URL như sau:

https://dotrungquan.info/wordpress/?fbclid=IwAR2_bz8mmZRfLZ8si60fr6F8Nu8QrLsZzGRIHpZ8zZJjAjm3BvI7ZgxXYIY

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://dotrungquan.info/wordpress
  • Đoạn 2: Phần đuôi đằng sâu dấu ? : ?fbclid=IwAR2_bz8mmZRfLZ8si60fr6F8Nu8QrLsZzGRIHpZ8zZJjAjm3BvI7ZgxXYIY

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

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

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 file nginx.conf ở đâu có thể sử dụng lệnh nginx -t để xem nhanh

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



NGUYENCANHSON.COM
  # redirect map in http block - remove fbclid argument from the end
  map $request_uri $redirect_fbclid {
    "~^(.*?)([?&]fbclid=[a-zA-Z0-9_-]+)$"  $1;
  }
    
CleanShot 2022 12 20 at 10.09.26
Hướng dẫn xoá chuổi query string fbclid trên NGINX 11

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;
    }
anh 1
Hướng dẫn xoá chuổi query string fbclid trên NGINX 12

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ả

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