404 ошибка

FM
На сайте с 21.04.2004
Offline
125
800

Народ такой вопрос

написали движок сайта через 404 ошибку

ErrorDocument 404 /404.php

в этом 404.php

header("HTTP/1.0 200 OK\n\n");

но вот загвоздка, в логах пишет 404 ошибку :(

что не радует, в чём проблема, может можно как то 404 ошибку описать с помощью rewrite?

A
На сайте с 23.10.2003
Offline
196
#1

Все верно. Нельзя на 404 выдавать 200.

андроид ТВ (http://qway.com.ua/android_tv) и экшн камеры (qway.com.ua/action-cameras) в Украине.
FM
На сайте с 21.04.2004
Offline
125
#2

но другие скрипты видят 200

что ж делать?

A
На сайте с 23.10.2003
Offline
196
#3

Апач при ошибке 404 естесственно записывает в лог 404 и запускает ваш скрипт, который выдает зачем-то ошибку 200. Откуда ему знать что вы делаете в своем скрипте. Может выдаете 200, а может и "HTTP/1.1 Привет Гугл!\n\n" :)

D
На сайте с 02.11.2004
Offline
2
#4

По моим наблюдениям Я дальше первой не ходит по сайтам, сделанным через 404. Может делал что-то не так, но всё равно, не правильно это по-моему. Вот так гораздо лучше:

RewriteEngine on :)

Типография в Москве (http://www.parelle.ru/)
ZW
На сайте с 10.08.2004
Offline
7
#5

В .htaccess

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteCond %{REQUEST_FILENAME} !-s

RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^(.+)$ /path/to/e404.script?REQUEST_URI=$1

С уважением, Сибирский Оборотень
NB
На сайте с 14.09.2004
Offline
95
#6

Подобный вопрос здесь как-то обсуждался.

Привожу свое мнение:

Использование обработчика 404 вместо mod_rewrite мало того, что идеологически неверно -- оно еще имеет одно существенное и очень неприятное ограничение, такое как невозможность перехвата POST данных. Кроме того, есть подозрение, что mod_rewrite будет работать быстрее, т.к. он будет перехватывать запрос к серверу раньше обработчика 404.

Полное обсуждение здесь:

FM
На сайте с 21.04.2004
Offline
125
#7
Как писал Zerg WereWolf
В .htaccess

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteCond %{REQUEST_FILENAME} !-l
RewriteRule ^(.+)$ /path/to/e404.script?REQUEST_URI=$1

спасибо - огромное!

а что эти строчки значат ?

ZW
На сайте с 10.08.2004
Offline
7
#8

Спискок условий :)

Работать будет точно так же как и в случае с ошибкой (скрипты даже править не придется), но error-логи будут чистенькие...

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