RewriteCond %{HTTP_REFERER} ^https?://(www\.)?example\.com
[NC]RewriteRule ^ - [F]
// Список доменов, с которых запрещены переходы
$blocked_referers = [
'example.com',
'another-example.com'
];
$referer = isset($_SERVER['HTTP_REFERER']) ? parse_url($_SERVER['HTTP_REFERER'], PHP_URL_HOST) : '';
foreach ($blocked_referers as $blocked_referer) {
if (strpos($referer, $blocked_referer) !== false) {
// Перенаправляем пользователя на страницу с ошибкой или выполняем другое действие
header('HTTP/1.0 403 Forbidden');
echo 'Доступ запрещен.';
exit;
}
}
Типа так? В таком случае у меня сразу ошибка сайта при заходе и вообще не открывается.RewriteCond %{HTTP_REFERER} ^https?://(www\.)?имядомена\.ru [NC]RewriteRule ^ - [F]
В этом варианте ничего не происходит. Указал домен, всё равно с того домена можно перейти на мой сайт. Скорее всего там редирект 301 стоит. Его надо блокнуть как то.либо в файле main.php добавить код
RewriteCond %{HTTP_REFERER} ^https://(www\.)?example\.com [NC]
RewriteRule ^ - [F]
$home_url = clean_url($config['http_home_url']);