Nginx根据请求方法及获取变量进行重写

Nginx根据请求方法及获取变量进行重写

我想将 /wp-login.php?action=register 重写为 /register,但前提是它是一个 GET 请求。

这是我目前所得到的,虽然它没有错误,但它什么也没做。

location /wp-login.php {
    if ( $request_method = GET ) {
        set $login_post_req "herp";
    }

    if ( $args ~ ^action=(register) ) {
        set $login_post_req "${login_post_req}derp";
    }

    if ( $login_post_req = "herpderp" ) {
        rewrite / /register permanent;
        break;
    }
}

谢谢 :)

答案1

尝试这个:

    if ( $login_post_req = "herpderp" ) {
    rewrite /wp-login.php /register permanent;
    break;

也许是这个:

rewrite /wp-login.php /register? permanent;

避免 /register/?action=register

相关内容