ЧПУ и 404 ошибка

psh

Guest
ЧПУ и 404 ошибка

Здравствуйте,
Помогите понять:
Есть сайт на котором реализованы ЧПУ, т.е.
в .htaccess:
ErrorDocument 404 /index.php
ErrorDocument 401 /index.php

в index.php идет разбор $_SERVER['REDIRECT_URL'];

URLы разбиваются и страницы выдаются.

Но, в случае, если указывается несуществующий адрес, напр.:

http://sait.ru/rus/4/6 (такая страница есть и выдается)
http://sait.ru/rus/4/12 (а такой уже нет в базе)

, то выдается HTTP 404 - File not found.

Вопрос почему ? Ведь 404 перенаправлен на /index.php ?
Как в таком случае эти 404-тые перенаправить на сделанную мной страницу (напр. /404.html) ?

Уверен вы знаете. Подскажете?
Заранее благодарен, psh.
 

Фанат

oncle terrible
Команда форума
я имею в виду, что надо думать головой.
ты можешь обхяснить, какая веб-серверу разница, есть у тебя в базе страница или нету?!!
 

psh

Guest
Не понимаю, что ты хочешь сказать.
Ну ладно, а почему не перенаправляет это 404 на /index.php ?
 

Фанат

oncle terrible
Команда форума
ты совсем дурак, или прикидываешься?

ты действительно хочешь, чтобы Апач при поступлении запроса к серверу проверял, есть ли у тебя в базе страница, и если нету, то направлял на 404, а если есть - то на индекс?
 

psh

Guest
послушай, нехороший человек,
ты действительно хочешь, чтобы Апач при поступлении запроса к серверу проверял, есть ли у тебя в базе страница, и если нету, то направлял на 404, а если есть - то на индекс?
конечно нет
в index.php строка разбивается на переменные и по ним выдается страница
я хотел понять почему если страница есть он выдает ее мне (т.е. ErrorDocument 404 /index.php срабатывает), а если нет выдает стандартный HTTP 404 - File not found
 

Фанат

oncle terrible
Команда форума
я тебе, тупице, уже объяснил - почему.

-~{}~ 12.08.06 15:24:

с чего ты решил, что апач не перенаправляет?
 

psh

Guest
Во первых, нехороший человек, не психуй

Во вторых:
с чего ты решил, что апач не перенаправляет?
я так не решал, он перенаправляет
т.е. Апач перенаправил на индекс, индекс видит страницы нет и выдает HTTP 404 - File not found страницу, но вроде должен снова выдать индекс (ведь прописано ErrorDocument 404 /index.php)

Я видимо не улавливаю чего то из механизма, но вот чего?
Скажи, если это не долго объяснять
 

psh

Guest
По-моему и то и другое, второе точнее.
Послушай, не хочу отнимать время ни у тебя, ни у себя.
Как думаешь, почему так происходит?
 

Фанат

oncle terrible
Команда форума
великолепный ответ. шикарный.
- какое из двух предложений верное, а какое ложно?
- оба!

тебя в музей надо сдать. в кунсткамеру.
 

440hz

php.ru
Автор оригинала: psh
Постараюсь разобраться самостоятельно
начнни с того, что "404" это "код ответа вебсервера", а что там за инфа следом придет клиенту начхать и перенаправление тут совсем не причем.
 

StUV

Rotaredom
psh
каким образом выдается _существующая_в_базе_страница_ ?
 

psh

Guest
разобрался
это только IE выбрасывал свою 404
помогло в индексе header("http/1.0 200 Ok"); указать

странный тип временами этот IE
 

SiMM

Новичок
> помогло в индексе header("http/1.0 200 Ok"); указать
Контент должен быть больше (если не ошибаюсь) 512 байт. В противном случае осёл будет выдавать свою ошибку. А давать 200 Ок на ошибки - это как минимум неправильно.
 
Сверху