Настройка 404 ошибки в htacces

A
На сайте с 21.04.2015
Offline
0
460

Уважаемые знатоки, подскажите, пожалуйста. Нигде не нашел, как составить в htacces условие:

любой урл, содержащий текст /?up= должен вести на страницу 404.php

И конечно, сервер должен отдавать код 404.

Проблема в том, что сейчас урлы вида мойсайт.ру/?up=(далее произвольно) ведут на главную страницу, с кодом ответа 200.

koders
На сайте с 29.04.2007
Offline
91
#1

Такие вещи логично обрабатывать на уровне движка, а не .htaccess

Вы же не сможете перечислить все возможные:

/?up=текст1

/?up=текст2

Бесплатный PHP-скрипт массовой проверки ИКС (https://a-panov.ru/massovaya-proverka-iks-skript-na-php/)
[umka]
На сайте с 25.05.2008
Offline
456
#2

RewriteEngine on

RewriteCond %{QUERY_STRING} ^up=

RewriteRule ^$ [R=404,L]

Лог в помощь!
J
На сайте с 20.02.2014
Offline
120
jkm
#3
'[umka:
;13666839']RewriteEngine on
RewriteCond %{QUERY_STRING} ^up=
RewriteRule ^$ [R=404,L]

После шаблона в RewriteRule ожидается адрес, так что апач будет искать файл /[R=404,L] и флаг [L] останавливающий обработку апач здесь не увидит и если после этого правила есть RewriteRule .* index.php [L] то 404 ошибки не будет. В таких случаях на месте адреса достаточно дефиса.

RewriteEngine on

RewriteCond %{QUERY_STRING} ^up=
RewriteRule ^$ - [R=404,L]
A
На сайте с 21.04.2015
Offline
0
#4
jkm:

RewriteEngine on

RewriteCond %{QUERY_STRING} ^up=
RewriteRule ^$ - [R=404,L]

Этот вариант работает отлично! Спасибо! 🍻

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий