2013-04-24 2 views
0

У меня есть пользовательская страница ошибок 404 в моем корне.перенаправлять на мою страницу ошибок404 php

Я также отредактировал файл .httaccess.

Теперь я хочу перенаправить на свою страницу 404, если на моей странице не удается выполнить определенное условие.

Например $ _SESSION [log] == 1 не удается. Так что мой вопрос:

1.Какой код следует использовать в php для этого?

2. Как я могу сделать другие типы ошибок, например 401 и многие другие ошибки?

В моей странице .httaccess, у меня есть эти строки

ErrorDocument 404 http://mydomain.com/404custom.php 

И у меня есть 404custom.php, предназначенный для моего HTML страницы needs..Simple ...

+0

Пожалуйста, покажите код, который у вас есть – Cfreak

+0

@Cfreak отредактирован .. – user2234992

ответ

1

1- Перенаправление пользователя вы можете использовать:

<?php 
    header('Location: http://www.example.com/404.html'); 
?> 

Но вы не должны посылать какие-либо данные, прежде чем использовать header() не echo и даже не пустое пространство.

2- Для других ошибок:

ErrorDocument 400 /var/www/errors/index.html 
ErrorDocument 401 /var/www/errors/index.html 
ErrorDocument 403 /var/www/errors/index.html 
ErrorDocument 404 /var/www/errors/index.html 
ErrorDocument 500 /var/www/errors/index.html 
+0

Возможно, стоит отправить код HTTP-заголовка, чтобы браузер знал, что происходит. http://en.wikipedia.org/wiki/List_of_HTTP_status_codes –

+0

@Chewie Спасибо за ответ .. 404.html? Я имею в виду, что мне нужно использовать мою страницу (404custom.php) .Or 404.html - это стандартная страница. – user2234992

+0

404custom.php также будет работать. Просто укажите URL-адрес, на который вы хотите перенаправить пользователя. @JamesElliott Я полностью согласен, вы можете обратиться к руководству header(), чтобы отправить HTTP-ответный код. http://php.net/manual/fr/function.header.php – Chewie

2

Не послать заголовок Место в случае ошибки. Вместо этого отправьте правильный код состояния. Вы должны отправить правильный код состояния в соответствии со спецификацией http.

header("HTTP/1.0 404 Not Found"); 

Для показывая правильного пользовательского сайта, вы уже ваше заявление ErrorDocument в файле .htaccess.

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

Смежные вопросы