Добрый день. Мне нужно правильно настроить 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]
Не выходит. Подскажите пожалуйста.