Order Deny,Allow
Deny from 81.171.0.0/19
Через SetEnvIf Request_URI устанавливаются переменные разрешенных (по маске) и запрещенных (по маске) URL-запросов. Блокируются через правила Deny.
Кроме того, в mod_rewrite прописываются разрешенные маски параметров запросов по каждой конкретной папке (там, где они используются). Все, что не подпадает под разрешенные путь и маски, получает код ответа 403.
Некорректное сравнение. Разве здесь общаются домохозяйки, на коих (то есть обычных обывателей, не знающих, что такое VPN и Роскомнадзор) рассчитано подавляющее большинство сайтов?
Вы внятно озвучьте, что значит "если что". Ваш пост под #1 - типичное задание, за выполнение которого на биржах платят деньги.
Смотрите, кому принадлежат IP. Скорее всего - хостерам, поэтому блокируйте эти сети целиком.
На такие параметры нужно отдавать 403 ошибку (без страницы ошибки, коротким текстом типа "Forbidden").
Gerga, используя mod_rewrite, вы забиваете кнопки кувалдой. Модуль предназначен для иных целей.
У вас есть файл index.php, который выводит динамически какое-то содержимое в зависимости от параметра запроса. Вот и выводите это содержимое средвами PHP, зачем вам mod_rewrite?
В ссылке /index.php?categoryID=12 файл - это index.php. Он по параметру запроса categoryID=12 берет откуда-то (из базы данных или другого файла) данные и отображает их на странице вида /index.php?categoryID=12. Но физически файла по имени /index.php?categoryID=12 не существует, его нет в природе.
Прячьте в тег span или любой другой с id="phone". Затем через скрипт, вынесенный в отдельный файл, ищите этот тег и показывайте в нем телефон.
HTML: <div id="phone"></div> Javascript - в закрытом для индексации файле: (function() { if (document.getElementById('phone') != null) { document.getElementById('phone').innerHTML = '<a href="ССЫЛКА_НА_МЕССЕНДЖЕР">+7-111-222-33-44</a>'; } })(); или так: (function() { if (document.getElementById('phone') != null) { var a = document.createElement('a'); a.href = 'ССЫЛКА_НА_МЕССЕНДЖЕР'; a.rel = 'nofollow'; a.appendChild(document.createTextNode('+7-111-222-33-44')); document.getElementById('phone').parentNode.replaceChild(a, document.getElementById('phone')); } })();
Полностью с Вами согласен! Да что там скрипты - грамотно статьи писать устаешь (при отличном знании русского языка и таланте литератора). Иной раз зайдешь на биржу, почитаешь задание и подумаешь: а не пойти ли работать охранником за те же деньги (барменом, к слову, работал).
У программиста труд тяжелый - нужно думать постоянно, много думать. Вот и приводят в сравнение труд продаца или охранника, которым за предлагаемую программистам зарплату напрягаться не нужно.
Вот еще гляньте, совсем не смешно, только пальцем у виска покрутить хочется (раба ищут за похлебку) - /ru/forum/1028563
Это ОДИН файл index.php, который динамически создает страницы вида /?categoryID=12. Отображаемая на них информация загружается, например, из каких-то файлов, физически имеющихся на сервере, по categoryID:
if (!empty($_SERVER['QUERY_STRING']) && preg_match('/^categoryID=\d+$/', $_SERVER['QUERY_STRING'])) { $file = $_SERVER['DOCUMENT_ROOT'].'/КАКОЙ_ТО_ПУТЬ/.$_GET['categoryID'].'.txt'; if (is_readable($file)) { // Данные из текстового файла выводятся на странице /?categoryID=12, которая физически не существует на сервере echo @file_get_contents($file); } }
Как-то так, а иначе в вашем вопросе - белиберда.