Remove QueryString by nginx rewrite
ていうかApacheのmod_rewriteでもそんな感じで消せたと思うのですが
んじゃ本題
- 元URL: /search?keyword=hoge
- リダイレクト先URL: /search/hoge
にしたい。まぁrewrite機能でクエリーストリングを検出して云々すれば良いと思うのですが、おそらくはnginxの場合のrewriteの引数はクエリーストリングマッチするのかが微妙なので...
server {
server_name localhost;
location / {
if ($args ~ "keyword=(.*)") {
set $keyword_name $1;
rewrite ^/search$ "/search/$keyword_name?" redirect;
}
proxy_pass http://localhost:5000;
}
}
みたいな感じでリライト先の最後に?を付ける。さっきも言ったけどmod_rewriteでもそんな感じだったような気がする