[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: редирект на 404
maximka787
Ребят, подскажите можно ли сделать редирект скриптом на серверный ответ 404?
я сделал страницу 404.php и она выскакивает методом
Header('Location: 404.php') ;
exit;
//// Если адрса нет в базе то выходим 404

а мне надо очень чтоб оригинальная 404 была
Вот файл htacess
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1
он передает в url вообще все ссылки чтобы сверить с базой

if(empty($id_article)){
header("HTTP/1.0 404 Not Found");
}
этот метод не работет



Спустя 37 минут, 16 секунд (13.10.2011 - 16:38) jetistyum написал(а):
что в твоем понятии оригинальный 404? тебе вообще-то при несуществующей странице нужно выдавать заголовок с кодом ответа 404, и уж совсем не редиректить юзера

Спустя 1 минута, 20 секунд (13.10.2011 - 16:39) XCross написал(а):
Цитата
что в твоем понятии оригинальный 404?

Видать от апача страничка.

Спустя 19 секунд (13.10.2011 - 16:40) maximka787 написал(а):
jetistyum
да мне и надо выдать код сервера 404 если в условии скрипта нет записи

Спустя 15 минут, 41 секунда (13.10.2011 - 16:55) jetistyum написал(а):

Спустя 12 минут, 14 секунд (13.10.2011 - 17:08) maximka787 написал(а):
jetistyum
да ссылка хорошая, т.е получается лучше всего делать так?
if(...){
header("HTTP/1.0 404 Not Found");
header('Location: 404.php');
exit;
}

и если да, то как узнать ответ сервера?

Спустя 9 часов, 12 минут, 44 секунды (14.10.2011 - 02:20) jetistyum написал(а):
нахрена тебе этот Location? чего ты за него вцепился, он передает браузеру комманду загрузки другого адреса, зачем?

Спустя 1 час, 6 минут, 18 секунд (14.10.2011 - 03:27) ancient mariner написал(а):
Цитата (maximka787 @ 13.10.2011 - 13:40)
да мне и надо выдать код сервера 404 если в условии скрипта нет записи


header("HTTP/1.0 404 Not Found");
file_get_contents ("404.html");


И будет вам счастье.
А ещё можно сразу прописать в .htaccess

Цитата
ErrorDocument 404 /404.html


И будет 404-я страница каждый раз при наборе несуществующего скрипта.

Спустя 7 часов, 8 минут, 27 секунд (14.10.2011 - 10:35) maximka787 написал(а):
спасибо, а вот еще маленький вопрос, у меня в такой конструкции
header("HTTP/1.0 404 Not Found");
file_get_contents("404.php");
exit;

не выдает 404.php, чистый лист показывает. код сервера теперь нормальный 404.

Мжет проблема в htacess
ErrorDocument 404 /404.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1

тк когда убираю Rewrite все 4-ре строки то нормально все.

Спустя 17 минут, 4 секунды (14.10.2011 - 10:52) vital написал(а):
Цитата
header("HTTP/1.0 404 Not Found");
exit;

Спустя 1 час, 13 минут, 51 секунда (14.10.2011 - 12:06) maximka787 написал(а):
vital
У меня так и есть сейчас, я все перепробовал. Тут точно файл htacess виноват
ErrorDocument 404 /404.php
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1

как отключаю все Rewrite то появляется мой 404.php

Спустя 6 часов, 43 минуты, 39 секунд (14.10.2011 - 18:50) ancient mariner написал(а):
maximka787, лучше сделайте 404-ю страницу в формате html, а не php. То есть просто сделайте html/css разметку, безо всякой логики.

Спустя 2 дня, 17 часов, 36 минут, 24 секунды (17.10.2011 - 12:26) maximka787 написал(а):
не, ребят, все равно, хоть разбейся
if(если страницы нет в базе){
header("HTTP/1.0 404 Not Found");
exit;
}
htacess
DirectoryIndex index.php
ErrorDocument 404 /404.html
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?url=$1

и все равно белый лист выходит


_____________
..Работает - не трогай!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.