
다음과 같은 URL이 있습니다.
index.php?q=123&w=456&e=789
다음과 같이 다시 작성해야 합니다.
index/123/456/789
"if"를 사용하지 않고.
지금까지 나는 다음을 시도했습니다.
location / {
rewrite ^/index.php\?q=(.*)&w=(.*)&e=(.*)$ /index/$1/$2/$3;
}
하지만 작동하지 않습니다. 어떤 아이디어가 있나요?
답변1
짧은 대답은 을 사용하지 않고는 할 수 없다는 것입니다 if
.
긴 대답은 정규식입니다.rewrite
구문은 URI와만 일치합니다.
다음과 같이 시도해 보세요.
location /index.php {
if ($args ~ "^q=(.*)&w=(.*)&e=(.*)") {
set $arg_q $1;
set $arg_w $2;
set $arg_e $3;
rewrite_log on;
rewrite ^ /index/$arg_q/$arg_w/$arg_e last;
}
}