RewriteCond는 Query_String에서 배열 매개 변수를 가져와 나머지 매개 변수를 유지하면서 경로로 변환합니다.

Apr 09 2020

URL 경로의 문자열로 변환되는 배열 인 하나의 매개 변수가 리디렉션되는 동안 몇 개의 매개 변수가 계속 리디렉션되도록 허용하는 방법

예 : param1 [] = apple & price = 1,10은 / apple /? price = 1,10이되어야합니다.

Orginal url: example.com/path1/?param1[]=apple&param2=1,100
Expected redirection: example.com/path1/apple/?param2=1,100

Orginal url: example.com/path1/path2/?param[]=apple&param2=1,100&param3=yes
Expected redirect: example.com/path1/path2/apple/?param2=1,100&param3=yes

답변

anubhava Apr 10 2020 at 06:21

param1[]=어디에서나 쿼리 매개 변수 를 처리하는이 리디렉션 규칙을 사용할 수 있습니다 .

RewriteEngine On

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