RewriteCondはQuery_Stringから配列値をフェッチし、URLパスとしてリダイレクトします

Apr 10 2020

htaccessを使用して変換する方法

https://www.example.com/plex/?param1[]=apple

https://www.example.com/plex/apple/

以下の条件はエラーをスローします:

.htaccess:RewriteCond:正規表現をコンパイルできません 'param1 [] =(。*)'

RewriteCond %{QUERY_STRING} param1[]=(.*) 
RewriteRule ^(.*)$ /%1/ [QSD,L,R=301]

回答

1 anubhava Apr 10 2020 at 00:58

エスケープする必要が[あり]、それらは特別な正規表現メタ文字であるため:

RewriteCond %{QUERY_STRING} (?:^|&)param1\[\]=([^&]*) [NC]
RewriteRule ^ %{REQUEST_URI}/%1 [QSD,L,R=301]