Как исправить RewriteRule ^(.*) index.php

K
На сайте с 18.11.2008
Offline
84
1136

В своей старой теме писать не могу, потому создаю новую. Проблема, которая зрела достаточно давно, довела. Разработчик движка пропал примерно год назад, потому не вижу иного выхода, как обратиться к вам.

Суть такова - движок написан таким образом, что все обращения к страницам идут через главную, как я понимаю. Это все приводит к тому, что робот, заходящий на сайт под несуществующим адресом, перенаправляется на главную.

Нужно сделать так, чтобы сервер, все-таки, отдавал 404 при обращении к несуществующей странице, а не то, что отдает.

Теперь сам вопрос (вероятнее всего, глупый) - есть ли какая-то панацея, или необходимо смотреть сам движок сайта?

П.С. ErrorDocument 404, не помогает.

[umka]
На сайте с 25.05.2008
Offline
456
#1

Если все запросы проходят через index.php, то нужно именно его дорабатывать, чтобы он выдавал http-статус 404 в случае, если запрошенная информация (например, раздел или товар) не найдена.

Лог в помощь!
C
На сайте с 28.01.2010
Offline
70
#2
Knigorub:
В своей старой теме писать не могу, потому создаю новую. Проблема, которая зрела достаточно давно, довела. Разработчик движка пропал примерно год назад, потому не вижу иного выхода, как обратиться к вам.

Суть такова - движок написан таким образом, что все обращения к страницам идут через главную, как я понимаю. Это все приводит к тому, что робот, заходящий на сайт под несуществующим адресом, перенаправляется на главную.

Нужно сделать так, чтобы сервер, все-таки, отдавал 404 при обращении к несуществующей странице, а не то, что отдает.

Теперь сам вопрос (вероятнее всего, глупый) - есть ли какая-то панацея, или необходимо смотреть сам движок сайта?

П.С. ErrorDocument 404, не помогает.

Как я понимаю перенаправляется на что-то вроде site.ru/index.php?page=page1 ? Это надо смотроеть не htaccess, а код движка. Скорее всего он построен таким образом, что при несуществующей странице движок кидает посетителя на главную. Соотвественно надо там вместо этого сделать что-то типа header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");

Это - личная подпись. Здесь обычно ставят ссылки на всякие кривые сайты, надеясь получить "жирный бек".

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