Я защищу некоторые файлы для не авторизованных пользователей wordpress или покажу некоторые файлы только для определенного c пользователя.
файлы находятся в / wp-content / uploads / vip / (file. pdf).
в этом каталоге я использую следующие htacces:
RewriteCond %{REQUEST_FILENAME} ^.*(mp3|m4a|pdf|doc|xlsx|docx|xls)$
RewriteCond %{HTTP_COOKIE} !downloadcookie;? [NC]
RewriteRule ^ https://example.com/downloadmanager.php?url=https://%{HTTP_HOST}%{REQUEST_URI} [NC,L,R=302]
менеджер загрузки. php находится в основном каталоге "/"
на данный момент , он содержит следующий код:
<?
require_once(dirname(__FILE__) . '/wp-config.php');
$wp->init();
$wp->parse_request();
$wp->query_posts();
$wp->register_globals();
$wp->send_headers();
if(is_user_logged_in()){
setcookie('downloadcookie', 'somecontent', time()+3600, SITECOOKIEPATH, COOKIE_DOMAIN);
header('Location: '.htmlspecialchars($_GET["url"]));
die();
}
else{
echo "login first :-)";
}
function is_user_logged_in() {
$user = wp_get_current_user();
return $user->exists();
}
?>
(код не завершен, я просто проверяю, вошел ли пользователь в систему)
У меня нет проблем с этим вне Wordpress и если все файлы находятся в том же каталоге, но в wordpress я получаю ошибку (браузера): ERR_TOO_MANY_REDIRECTS. Это означает, что .htaccess не может найти повар ie. Но я вижу это в информации о браузере: - /
Надеюсь, кто-нибудь может мне помочь: -)
С уважением!