Работая с нашим хостинг-провайдером, они добавили правило 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/;
}
Однако я бы хотел обновить URL rewrite
-адрес, чтобы он выглядел примерно так: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;