Страницы ошибок в стиле форума
Ошибки, как 400, 401, 403, 404, 500, выводятся на дефолтные страницы хостинга, то есть черными буквочками на белом фоне. Смотрится сие, конечно, не очень. Эта модификация позволяет выводить это ошибки в стиле вашего форума (на вашей страничке), что не нарушает "общего восприятия сайта".
Здесь этот мод тоже установлен - посмотрите: ошибка 404 - страница не существует.
Делается это не сложно.
Создать файл 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; } ?>
сохранить (я ставлю кодировку UTF8 без BOM) и закачать в корень сайта (где файл config.php).
Открыть файл .htaccess в корне сайтаНайти Вставить перед найденным Код: Выделить всё # 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
Если Ваш форум находится в каталоге, например ваш сайт/forum/ то обязательно укажите в файле .htaccess полный путь, пример:
например здесь сайт находится "в каталоге" и код будет такой:
Код: Выделить всё # th23 start - error pages ErrorDocument 400 https://belk.info/phpbb/error.php?e=400 ErrorDocument 401 https://belk.info/phpbb/error.php?e=401 ErrorDocument 403 https://belk.info/phpbb/error.php?e=403 ErrorDocument 404 https://belk.info/phpbb/error.php?e=404 ErrorDocument 500 https://belk.info/phpbb/error.php?e=500 # th23 end - error pages
Открыть language/ru/common.phpНайти Вставить перед найденным Код: Выделить всё // 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

другой перевод для ошибок
Код: Выделить всё // 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 -->
Очистить кэш и проверить работу мода. Набрать, предположим, нереальный адрес на вашем сайте в браузере
Если всё сделано верно - получится ошибка 404 в стиле вашего сайта.
Если у вас не получается создать файл error.php - можете скачать готовый:
Вложение:
error.rar [735 байт]
Скачиваний: 0
|