200 вместо 404

12
M
На сайте с 31.03.2007
Offline
20
7458

Неверный адрес сайта уже выдает страницу 404.html. Но сервер при этом отправляет ответ 200, а не 404. Вопрос - как сделать так, чтобы при неверном запросе поисковику приходил ответ 404 а не 200?

F
На сайте с 05.06.2007
Offline
0
#1

Страница 404.html выдается скриптом или она статичная?

Если выдается скриптом, то в заголовке скрипта нужно указать статус "Status: 404".

Если статичная, то с сервером нужно ковыряться.

M
На сайте с 31.03.2007
Offline
20
#2

Страница 404.html статичная.

T
На сайте с 11.08.2005
Offline
181
#3

Перед выдачей страницы 404 послать заголовок: header("HTTP/1.0 404 Not Found");

D
На сайте с 21.06.2006
Offline
168
#4

В .htaccess должно быть прописано ErrorDocument 404 404.html

Если отдается код 200, видимо неверно настроен сервер.

Appstorespy - платформа анализа мобильных сторов | Publa.io - готовая инфраструктура для приема платежей и оплаты рекламных кабинетов в бурже
M
На сайте с 31.03.2007
Offline
20
#5
Перед выдачей страницы 404 послать заголовок: header("HTTP/1.0 404 Not Found");

Куда именно нужно поместить эту строку?

В .htaccess должно быть прописано ErrorDocument 404 404.html
Если отдается код 200, видимо неверно настроен сервер.

В .htaccess уже все прописано. Как настроить сервер (Apache), чтобы он отдавал правильный код?

UA
На сайте с 19.06.2006
Offline
100
#6
micronoid:
В .htaccess уже все прописано.

В студию! :)

Там путь к 404.html как прописан? Полный или относительный?

micronoid:
Как настроить сервер (Apache), чтобы он отдавал правильный код?

Указать ему эту страницу в директиве ErrorDocument. Судя по всему, сейчас он просто перенаправляет пользователя на 404.html, а должен брать содержимое этого файла и выдавать в ответ на запрос к любому несуществующему файлу. Перевожу: в браузере http://example.com/404.html не должно никогда показываться. Должно показываться содержимое файла 404.html, а адрес в адресной строке - тот, который запросили.

M
На сайте с 31.03.2007
Offline
20
#7

Прописано в .htaccess:

ErrorDocument 404 /404.html

RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*) /404.html [L,QSA]

Ответ сервера на неправильный запрос:

HTTP/1.1 200 OKDate: Thu, 07 Jun 2007 04:59:35 GMTServer: Apache/1.3.37 (Unix) mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a PHP-CGI/0.1b

F
На сайте с 05.06.2007
Offline
0
#8

В вашем случае реврайт мод нужно убрать, т.к. он просто перенаправляет на 404 страницу при не существующем файле или директории. Нужно оставить только ErrorDocument 404 /404.html

M
На сайте с 31.03.2007
Offline
20
#9

Без рерайта на 404 почему-то отправлял только с неверного адреса такого типа www.*.com/*/ А так на 404 отправляется все, включая такие адреса www.*.com/*.html

K
На сайте с 31.01.2001
Offline
737
#10

micronoid, freak написал правильно. Не надо неизвестную еще ошибку исправлять, добавляя еще одну. Уберите рерайт и покажите URL сайта.

Выделенные полосы в Москве (http://www.probkovorot.info) привели к снижению скорости до 23%.
12

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