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
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é.
Nguồn tin: Hoàng Nam
Ý kiến bạn đọc