Почему несуществующие страницы отдают 200 ответ?

На сайте есть страницы вида site.ru/some_page.php
но нет страницы вида
site.ru/some_page.php/many_different_symbols
и в теории по такому URL должна открыться 404 страница, но вместо этого сервер отдает 200 ответ и открывается
site.ru/some_page.php/many_different_symbols
(только вот на сайт статический и все пути относительные - скрипты, стили и картинки не отображаются).
Как получить по таким страницам 404 ответ или перенаправить их на 404 страницу.
  • Вопрос задан
  • 261 просмотр
Решения вопроса 1
@new_guest23 Автор вопроса
Добавление директивы AcceptPathInfo Off в файл .htaccess в моем случае не помогло.
Зато помогли следующие правила, может кому пригодится:
Чтобы отсечь все, что идет после site.ru/some_page.php и получить существующую страницу:
RewriteRule ^(.*php)/.+$ /$1 [R=301,L]

Или чтобы получить 404 страницу:
RewriteRule ^(.*\.php)\/(.*)$ /404.php [R=301,L]
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@dodo512
AcceptPathInfo
В .htaccess добавить
AcceptPathInfo Off
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы