Страница 1 из 2

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 11 июл 2012, 16:56
DeaDRoMeO
Любой админ форума знает, что такие ошибки как 400, 401, 403, 404, 500 выводятся на дефолтные страницы хостинга, тобишь черными буквочками на белом фоне. Сегодня хотел бы проанонсировать мини-мод, делающий такие страницы в стиле форума. К примеру перейдите по следущему адресу

Код: Выделить всё

http://hello-vitebsk.ru/index.phpg
Сами видите работу мода, ошибка оформляется в стиле форума. Для того, чтобы сделать у себя аналогичное отображение, следует через текстовый редактор создать файл error.php со следущим содержанием

Код: Выделить всё

<?php
/*
*
* error.php
*
* @package th23_error_pages
* @author Thorsten Hartmann (www.th23.net)
* @copyright (c) 2008 by Thorsten Hartmann (www.th23.net)
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
*
*/

// setup
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

$user->session_begin();
$auth->acl($user->data);
$user->setup();
$template->assign_vars(array(
   'U_TH23_ERROR_PAGES_BASE' => generate_board_url() . '/',
));
// in case of an error page we don't need more
$err_code = request_var('e', 0);
switch ($err_code)
{
	case '400':
		$msg_title = $user->lang['TH23_ERROR_400_TITLE'];
		trigger_error('TH23_ERROR_400_BAD_REQUEST');
	break;
	case '401':
		$msg_title = $user->lang['TH23_ERROR_401_TITLE'];
		trigger_error('TH23_ERROR_401_UNAUTHORIZED');
	break;
	case '403':
		$msg_title = $user->lang['TH23_ERROR_403_TITLE'];
		trigger_error('TH23_ERROR_403_FORBIDDEN');
	break;
	case '404':
		$msg_title = $user->lang['TH23_ERROR_404_TITLE'];
		trigger_error('TH23_ERROR_404_NOT_FOUND');
	break;
	case '500':
		$msg_title = $user->lang['TH23_ERROR_500_TITLE'];
		trigger_error('TH23_ERROR_500_INT_SERVER');
	break;
	default:
		$msg_title = $user->lang['TH23_ERROR_UNKNOWN_TITLE'];
		trigger_error('TH23_ERROR_UNKNOWN');
	break;
}

?>
Сохранить и закачать в корень форума. Потом открыть корневой файл .htaccess и найти в нем

Код: Выделить всё

<Files "config.php">
Вставить перед найденным

Код: Выделить всё

# th23 start - error pages
ErrorDocument 400 /error.php?e=400
ErrorDocument 401 /error.php?e=401
ErrorDocument 403 /error.php?e=403
ErrorDocument 404 /error.php?e=404
ErrorDocument 500 /error.php?e=500
# th23 end - error pages
Открыть language/ru/common.php и найти

Код: Выделить всё

'TEST_CONNECTION'
Вставить перед найденным

Код: Выделить всё

	// th23 start - error pages
	'TH23_ERROR_400_TITLE' => 'Ошибка 400 - Неверный запрос',
	'TH23_ERROR_400_BAD_REQUEST' => 'Ваш запрос имеет ошибки в синтаксисе.',
	'TH23_ERROR_401_TITLE' => 'Ошибка 401 - Нет авторизации',
	'TH23_ERROR_401_UNAUTHORIZED' => 'Запрос требует идентификации пользователя. Произошла ошибка при идентификации.',
	'TH23_ERROR_403_TITLE' => 'Ошибка 403 - Запрещено',
	'TH23_ERROR_403_FORBIDDEN' => 'У вас нет необходимых прав доступа к файлам либо выполнению запроса.',
	'TH23_ERROR_404_TITLE' => 'Ошибка 404 - Не найдено',
	'TH23_ERROR_404_NOT_FOUND' => 'На данном сервере такого файла не существует.',
	'TH23_ERROR_500_TITLE' => 'Ошибка 500 - Ошибка сервера',
	'TH23_ERROR_500_INT_SERVER' => 'На сервере возникла ошибка.',
	'TH23_ERROR_UNKNOWN_TITLE' => 'Ошибка - Неизвестно',
	'TH23_ERROR_UNKNOWN' => 'Неизвестная ошибка сервера.',
	// th23 end - error pages
Открыть /styles/ваш стиль/template/overall_header.html и найти Вставить после найденного

Код: Выделить всё

<!-- th23 start - error pages -->
<!-- IF U_TH23_ERROR_PAGES_BASE -->
<base href="{U_TH23_ERROR_PAGES_BASE}" />
<!-- ENDIF -->
<!-- th23 end - error pages -->
Очистить кеш и радоваться результатам :dan_ser:

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 12 июл 2012, 16:18
delitant
Недавно на своем форуме сделал? Я неделю назад делал себе (не много по другому) и у тебя проверял есть или нет :)

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 12 июл 2012, 16:40
DeaDRoMeO
delitant писал(а):Недавно на своем форуме сделал?
Вчера сделал у себя, потестил, потом в эту тему отписал что да как

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 02 авг 2012, 23:36
Romnik
Мой вариант перевода в соответствии со стандартом:

Код: Выделить всё

     // th23 start - error pages
    'TH23_ERROR_400_TITLE' => 'Ошибка 400 - Неверный запрос.',
    'TH23_ERROR_400_BAD_REQUEST' => 'Запрос содержит неверный синтаксис и не может быть выполнен.',
    'TH23_ERROR_401_TITLE' => 'Ошибка 401 - Нет авторизации.',
    'TH23_ERROR_401_UNAUTHORIZED' => 'Запрос требует идентификации пользователя. Произошла ошибка при идентификации.',
    'TH23_ERROR_403_TITLE' => 'Ошибка 403 - Доступ запрещён.',
    'TH23_ERROR_403_FORBIDDEN' => 'У вас нет необходимых прав доступа к выполнению запроса.',
    'TH23_ERROR_404_TITLE' => 'Ошибка 404 - Не найдено.',
    'TH23_ERROR_404_NOT_FOUND' => 'Страница не найдена.',
    'TH23_ERROR_500_TITLE' => 'Ошибка 500 - Ошибка Сервера.',
    'TH23_ERROR_500_INT_SERVER' => 'Внутренняя Ошибка Сервера.',
    'TH23_ERROR_UNKNOWN_TITLE' => 'Неизвестная ошибка.',
    'TH23_ERROR_UNKNOWN' => 'Неизвестная ошибка сервера.',
    // th23 end - error pages
Если Ваш форум находится в каталоге, например /forum то обязательно укажите в файле .htaccess полный путь, пример:

Код: Выделить всё

http://www.domen.ru/forum/error.php?e=400

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 03 авг 2012, 00:12
DeaDRoMeO
Любое мнение имеет место быть, хороший перевод, да и я забыл упомянуть про путь до папки форума (если форум не в корне хостинга)

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 11 авг 2012, 20:18
Roman
Спасибо.
Очень полезный и легкоустанавливаемый мод.
В копилку :-00):

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 11 авг 2012, 21:12
DeaDRoMeO
Всегда пожалуйста, как по мне, так лучше такое отображение страниц ошибок, чем дефолтный белый фон и черные буковки

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 26 ноя 2012, 17:31
Lorem Ipsum
DeaDRoMeO писал(а):К примеру перейдите по следущему адресу index.phpg
Попробовала у себя с ошибкой - перенаправляет на правильный адрес автоматически. Почему?

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 26 ноя 2012, 23:14
DeaDRoMeO
Хостинг, дело в нем, возможно чтото стоит у тебя, что может перенаправлять на путь истинный)

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb

Добавлено: 27 ноя 2012, 00:10
boroda-max
Lorem Ipsum Скорее всего настройки сервера....

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 05 янв 2014, 15:46
rootmix
Спасибо за мод.
А то мой дефлтный от "Застройщика" порядком поднадоел. ))

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 05 янв 2014, 23:00
maa1988
Раньше все работало.
Сейчас проверил не работает... хотя все загружено...
если вставлять адрес какую нибудь строку, то перебрасывает на ошибку страницы хостинга....

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 25 янв 2014, 08:07
DeaDRoMeO
Проверьте заново правки или спросите хостера, может он намудрил чего

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 11 мар 2014, 20:23
БОРИСЫЧ
Ошибки 400, 401, 403, 500 на нормально функционирующем форуме быть вроде и не должны, а если и возникают - то это редкое явление. Я бы этими ошибками вообще пренебрег. Юзеры как правило часто встречаются с 404 ошибкой. Я сделал проще, зачем создавать новые файлы и править шаблоны -

пишем в htaccess:
ErrorDocument 404 /viewforum.php?f=404

Поскольку форум № 404 заведомо отсутствует (по крайней мере у меня) то и выдается встроенная в систему ошибка.

Рабочий пример см. на http://www.consforum.ru

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 29 авг 2014, 20:48
Ovsyanka
А адрес куда правильно ставить в htaccess? Все вроде сделал. Но что то не хочет работать. просто ничего не грузиться.

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 01 сен 2014, 06:18
DeaDRoMeO
Если я правильно понял ваш вопрос, то нужен htaccess который в корне вашего форума лежит

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 04 сен 2014, 23:29
Ovsyanka
эм....пока откатился назад. попробую по новой.
Сделал теперь все работает. Теперь вот надо переездом на новый форум со старого разобраться.

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 15 май 2016, 22:48
Павел
Здравствуйте. Столкнулся с проблемой после установки этого мода. Текст ошибки на несуществующей странице виден только зарегистрированным пользователям. Гостям же ничего не выводится и к тому же дескрипшен (описание) удалённой страницы остаётся прежним, не "Ошибка 404 и пр."
Во вьютопике в месте вывода этой информации прописано следущее:

Код: Выделить всё

<!-- NOTE: remove the style="display: none" when you want to have the forum description on the topic body -->
		<!-- IF FORUM_DESC --><div style="display: none !important;">{FORUM_DESC}<br /></div><!-- ENDIF --> 
Помогите исправить ошибку...

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 16 май 2016, 05:18
DeaDRoMeO
Форум лежит в корне хостинга или в папке?

Свои страницы ошибок (400, 401, 403, 404, 500) для phpbb3

Добавлено: 16 май 2016, 19:58
Павел
В корне хостинга.