Работая с нашим хостинг-провайдером, они добавили правило 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;