RewriteCond tìm nạp các tham số mảng từ Query_String và chuyển đổi thành đường dẫn trong khi vẫn giữ lại các tham số còn lại
Apr 09 2020
Cách cho phép một vài tham số tiếp tục được chuyển hướng trong khi một tham số là một mảng được chuyển đổi thành một chuỗi trong đường dẫn url
ví dụ: param1 [] = apple & price = 1,10 nên trở thành / apple /? price = 1,10
Orginal url: example.com/path1/?param1[]=apple¶m2=1,100
Expected redirection: example.com/path1/apple/?param2=1,100
Orginal url: example.com/path1/path2/?param[]=apple¶m2=1,100¶m3=yes
Expected redirect: example.com/path1/path2/apple/?param2=1,100¶m3=yes
Trả lời
anubhava Apr 10 2020 at 06:21
Bạn có thể sử dụng quy tắc chuyển hướng này sẽ xử lý param1[]=tham số truy vấn ở bất kỳ đâu:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*&)?param1\[\]=([^&]*)(?:&(.*))?$ [NC] RewriteRule ^(.*?)/?$ /$1/%2?%1%3 [R=301,NE,L]