Назад | Перейти на главную страницу

Добавить исходный запрошенный URL-адрес в правило перезаписи?

Работая с нашим хостинг-провайдером, они добавили правило nginx, чтобы помочь нам заблокировать доступ к файлам в определенной папке. По сути, если пользователь вошел на сайт WordPress, он дает ему доступ к файлу. В противном случае он перенаправит их на URL-адрес входа в https://www.example.com/login/

Вот что сейчас реализовано: https://gist.github.com/Garconis/6be796b51994c79010cb0c3a3cfedd86

set $bar 0;
set $becue 0;
if ( $request_uri ~* "wp-content/uploads/private" ) {
    set $bar 1;
} 
if ($http_cookie ~ "wordpress_logged_in") {
    set $becue 1;
}
set $barbecue "$bar:$becue";
if ($barbecue = "1:0") {
    rewrite ^/(.*) https://www.example.com/login/;
}

Однако я бы хотел обновить rewrite URL, чтобы вместо этого было что-то вроде: https://www.example.com/login?redirect_to=https://www.example.com/wp-content/uploads/private/super-secret-brochure.pdf

Таким образом, WordPress автоматически перенаправит пользователя обратно к файлу, к которому он пытался получить доступ, после входа в систему.

Однако как мне правильно обновить перезапись, чтобы она включала исходный URL-адрес, к которому пытались получить доступ?

Это так просто, как:

rewrite ^/(.*) https://www.example.com/login?redirect_to=https://www.example.com$request_uri;