Hướng dẫn gỡ bỏ thuộc tính fbclid của Facebook trong đường dẫn rewrite Apache

Rate this post

Gần đây mình có nhận thấy một lượng lớn truy cập bị gắn theo parameter fbclid do Facebook tạo ra khi bạn chia sẻ liên kết qua mạng xã hội này. Nó có thể dẫn tới việc bị block (nếu có các rule bảo mật chặn). Bài viết này sẽ hướng dẫn bạn cập nhật để gỡ bỏ nó trong liên kết truy cập.

Đường dẫn truy cập từ Facebook bị ảnh hưởng như thế nào?

Bạn sẽ nhận thấy, thay vì:

https://codetot/category/wordpress

Nó sẽ chuyển thành:

https://codetot.net/category/wordpress?fbclid=342ert23423

Tức các đường dẫn nguyên bản bị gắn theo ?fbclid vào phía sau. Một số phần rewrite chưa kĩ, ví dụ như sử dụng Lavarel mà dev chưa viết kĩ phần rewrite cho parameter thì dễ bị tèo, lấy ví dụ:

RewriteRule ^tuyen-dung/(.*)/(.*).html?$ index.php?mod=tuyendung&task=view&g_alias=$1&alias=$2%{QUERY_STRING} [PT,QSA]
RewriteRule ^tuyen-dung.html$ index.php?mod=tuyendung&%{QUERY_STRING} [L]
RewriteRule ^tuyen-dung/(.*).html$ index.php?mod=tuyendung&task=list&alias=$1&%{QUERY_STRING} [PT,QSA]

Mỗi khi người dùng vào liên kết, ví dụ như liên kết sau, mọi thứ sẽ không hoạt động.

/tuyen-dung/marketing/marketing-online-150.html?fbclid=IwAR3T30iIjdm1JF4hojfjtHJM-QDAwzh6BhuL29zCphXKh6GRAJUv-RNs-S4

Hướng dẫn xử lý nhanh gọn vấn đề này

Bạn cần sửa file .htaccess và cập nhật nội dung sau ở ngay phía đầu, sau RewriteEngine: on nhé:

RewriteCond %{QUERY_STRING} ^(.*)(?:^|&)fbclid=(?:[^&]*)((?:&|$).*)$ [NC]
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^(.*) /$1?%2 [R=301,L]

Ví dụ, đoạn code đầy đủ :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^(.*)(?:^|&)fbclid=(?:[^&]*)((?:&|$).*)$ [NC]
RewriteCond %1%2 (^|&)([^&].*|$)
RewriteRule ^(.*) /$1?%2 [R=301,L]
</IfModule>

Hi vọng rằng bạn sẽ test thử và thấy đoạn code trên hoạt động nhé.

Viết một bình luận


Chuyên gia về Web
Bạn muốn làm việc với dịch vụ website do chúng tôi triển khai?
Gọi tư vấn 0982.90.4343
Chuyên gia về Web
Bài viết liên quan
Gọi file PHP trong WordPress

19/09/2023

Cài đặt và sử dụng WP-CLI trên môi trường Linux
Trên một số môi trường Hosting có thể cung cấp SSH hoặc Terminal access, song không có sẵn WP-CLI để...
Import database MySQL lớn trên môi trường Docker

06/08/2023

Import database MySQL lớn trên môi trường Docker
Mình sử dụng EasyPanel để quản lý các Docker và build môi trường app. Nay gặp tình huống phải import...

28/01/2023

Hướng dẫn cài đặt php extension mongodb trên Mac OS M1
Khi bạn muốn hỗ trợ MongoDB trên dòng Mac M1, phần cài đặt sẽ cần một chút lưu ý. Hướng...
Git

18/12/2022

Xử lý lỗi Git không thể tiến hành merge do merge.renamelimit
Khi bạn tiến hành merge nhánh phụ vào nhánh chính hoặc lên nhánh production, có thể xung đột xảy ra...