напишу для тех у кого такие же проблемы, как у топикстартера
valid_referers none blocked server_names ~(\.yandex\.|\.google\.);
if ($invalid_referer) {
rewrite (.*)\.(jpg|jpeg|png|gif)$ [ссылка куда редиректить];
или
return 403; //блокируем
}
если нужно заблокировать доступ к url на вашем сайте, всем кроме нужных referer:
location ~ "[ссылка на вашем сайте]" {
try_files $uri $uri/ /index.php?$args;
valid_referers none blocked server_names ~(\.yandex\.|\.google\.);
if ($invalid_referer) { return 403; }
}
пояснение:
server_names - это ваш домен, не нужно вписывать что-то типа my.domain.com
если убрать [none blocked] эти = ~(\.yandex\.|\.google\.) блокнуться (у автора топика нет внешних источников, поэтому [none blocked] мешало)
добавлять нужно в location соблюдая последовательность — вставите не в тот location, работать не будет!