404 ошибака на htaccess Вопрос

L
На сайте с 17.05.2013
Offline
88
408

Посдкажите что не так делаю:

В htaccess пишет:

ErrorDocument 404 /404.html

RewriteRule ^404.html index.php?main=error [QSA]

В пхп:

if($main=='read')

{

if(mysql_num_rows($res)>0)

{ content }

else

{ header("Location: http://site.com/404.html"); }

}

if($main=='error')

{

$title='Страницы не найдено!';

..............

}

Тестирую страницу, ввожу в браузере:

http://site.com/blabla.html

попадаю по этому адресу на страничку ошибки( $title='Страницы не найдено!';).

Почему не происходит редирект именно на 404.html ? Как бы адрес вроде ж долженменяться на 404 ?

P.S. Страницы на утв-8, сохранял без бум символов..

SeVlad
На сайте с 03.11.2008
Offline
1609
#1
Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
M
На сайте с 04.12.2013
Offline
223
#2

luckydan, если нечего отдать по запросу, подставьте контент и прочие атрибуты страницы ошибки и выдайте заголовок со статусом 404, а потом и саму сформированную страницу, как если бы вы выводили любую существующую страницу.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
L
На сайте с 30.10.2015
Offline
34
#3

как все сложно. если хочешь отдать 404 ошибку при помощи php, то делай так:

ErrorDocument 404 index.php?main=error

но я бы советовал index.php?main=error в данном случае заменить на адрес статической страницы, например, 404.html, чтобы впустую не загружать сайт выполнением скрипта.

...

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