Как сделать 404 ошибку для страниц с параметрами на php?

NonexisT
На сайте с 05.02.2009
Offline
125
974

Проблема в том, что страница domain.ru/document.html отдает 200 по адресам вида domain.ru/document.html?id=1 и даже document.html/1

Если ветер, то снег... Если дождь, то вода...
M
На сайте с 04.12.2013
Offline
223
#1

Попробуйте условие с проверкой %{QUERY_STRING} на непустоту или с проверкой строки запроса на наличие вопросительного знака. При выполнении условия можете делать рерайт на несуществующую страницу или 301-редирект с обрезанием строки параметров.

---------- Добавлено 16.05.2017 в 23:41 ----------

...речь про настройки в .htaccess

document.html/1 – тут уже PATH_INFO – можно сделать аналогично. Также есть спец. директива для запрета PATH_INFO.

---------- Добавлено 16.05.2017 в 23:47 ----------

Эээ... если вам именно на php нужно написать, там тоже есть упомянутые переменные. Но чтобы не пихать код в каждую затычку, лучше организовать единую точку входа и при появлении не ожидаемых параметров выдавать 404-ую программно.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts

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