Поскольку Ваш crontab действительно теперь знает то, что ENVIROMENT так, необходимо сказать путь PHP.
/usr/bin/php -q PATH-TO-FILE
Если файл не находится на вышеупомянутом пути, который является наиболее распространенным путем в большей части стандартной установки, можно выполнить команду рева для нахождения, где это:
whereis php
Вам нужно иметь дело с сопоставлением чего-то в пути и сопоставлением чего-то в строке запроса отдельно, поскольку 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]