Как правильно настроить .htaccess на обработку определённых запросов?

Мне нужно правильно настроить htaccess, чтобы не было доступа к несуществующим ссылкам и чтобы редиректило и отдавало ответ 404. Сейчас на сайте есть ссылки такого вида:

/money.php?get=vesti-fm&target=form&frm=homescreen&target=form&frm=homescreen&target=form&frm=homescreen /money.php?get=russk%20%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%20%D1%81%D1%83%D0%BF%D0%B5%D1%80oe-radio

По таким запросам страниц не существует, но отображаются страницы, которые существуют /money.php?get=vesti-fm и /money.php?get=russkoe-radio.

Обрабатывается через php переменная get таким образом:

$get = preg_replace("/[^a-zA-Z0-9-_]/",'', addslashes($_GET['get']));

Как мне отдавать код ошибки 404, если пользователь переходит по подобным страницам:

/money.php?get=vesti-fm&target=form&frm=homescreen&target=form&frm=homescreen&target=form&frm=homescreen /money.php?get=russk%20%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%20%D1%81%D1%83%D0%BF%D0%B5%D1%80oe-radio

Пробовал делать так:

# Проверка наличия символов & или % в QUERY_STRING и отправка статуса 404
RewriteCond %{QUERY_STRING} (\%|\&)
RewriteRule ^ - [R=404,L]

или так:

RewriteCond %{QUERY_STRING} ^([^&%]*(?:&|%)[^&%]*)+$
RewriteRule ^ - [R=404,L]

Не выходит. Подскажите пожалуйста.


Ответы (0 шт):