Мне нужна помощь с установкой правила внутри .htaccess
что делает следующее:
Всякий раз, когда запрашиваемый URL содержит ключевое слово love
затем перенаправьте пользователя на другой URL-адрес или, возможно, покажите страницу 404.
Уточнение еще немного: если кто-то пытается получить доступ к этому URL -> www.example.com/love
или www.example.com/?love
или любой URL-адрес, содержащий слово "любовь", должен быть перенаправлен на страницу 404.
Вам нужно иметь дело с сопоставлением чего-то в пути и сопоставлением чего-то в строке запроса отдельно, поскольку Apache не предоставляет переменную, содержащую и то, и другое. Первый RewriteRule здесь совпадает с "любовью" на пути, а второе правило ограничивается RewriteCond соответствует слову "любовь" в строке запроса.
RewriteRule .*love.* - [R=404]
RewriteCond %{QUERY_STRING} .*love.*
RewriteRule .* - [R=404]
Всякий раз, когда запрашиваемый URL содержит ключевое слово "любовь"
Если вы хотите исключить слова, содержащие эти буквы, как вложенное слово. например. «перчатка», «неряшливый», «гвоздика» и т. д. тогда вам нужно включить границы слов в регулярное выражение, например. \blove\b
.
Вы также можете сделать это с помощью одного правила, проверив THE_REQUEST
серверная переменная, которая содержит как URL-путь, так и строку запроса.
Например:
RewriteEngine On
RewriteCond %{THE_REQUEST} \blove\b
RewriteRule ^ - [R=404]
RewriteRule ^(.+?)www.domain.com.*\.love/.*$ - [R=404]