| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > PHP: Общие вопросы > Вернуть 404 при редиректе |
| Автор: AXS 27.6.2010, 12:21 | ||||||
| Доброго времени, форумчане! ) Помогите разобраться в следующей ситуации: ---------------------------------------------------------------------- У меня организован следующий алгоритм отображения несуществующих страниц: В файле .htaccess
При действительно не существующих страницах - всё ок. Но вот в чём загвоздка - движок организован так: Первый параметр ссылки (mod|action|show) определяет что будем делать - активировать модуль, совершать какое либо действие или просто показывать материал. Дальше зависит от последующих параметров, например, если это show, то анализируется параметр $GET['page']
Ну вот так грубо говоря. Но если параметр $GET['page'] неизвестен движку надо бы показать 404 юзеру... А тут ничего не происходит... Добавил дефолт:
Кстати в модуле error_router.php 404 заголовок тоже на этот случай вызывается. И вот вылезла проблема: при редиректе пофиг какой заголовок ты отправил, если это не 30х статус, то редирект передаст свой статус 302. Так то всё ок, но для поисковиков это плохо - обратившись к странице http://mysite.ru/show/fignya/bla/bla он получит сначала 302 (страница временно перемещена), а следом 404 (не существует). А это не есть хорошо. Как побороть сей баг? Чтобы формально не существующие страницы возвращали 404? |
| Автор: AXS 27.6.2010, 14:25 | ||
Что то туплю я вроде...
В error_router.php вызывается header('HTTP/1.1 404 Not Found') и прочие советы юзеру и все рады... И чё я в этот редирект упёрся?... ###... |