info navigation

phpbb-belk.ru

темы, связанные с форумом phpbb 3.0.x



Новая тема  [ 1 сообщение ]  Просмотры: 3493

Автор Сообщение
Не в сети
(Андрей)  
Администратор
Аватара пользователя

Стаж: 8 лет 10 месяцев
Сообщения: 1223
Откуда: здешние мы


Стиль: subsilver2


Репутация: 11


Russia

Тиц и PR

перейти на сайт пользователя
Найти темы пользователя


Страницы ошибок в стиле форума

Ошибки, как 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 в корне сайта

Найти

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

<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


другой перевод для ошибок

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

// 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


Теперь надо подключить вывод:

Открыть /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 -->


Очистить кэш и проверить работу мода. Набрать, предположим, нереальный адрес на вашем сайте в браузере

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

http://ваш сайт/indexx.php


Если всё сделано верно - получится ошибка 404 в стиле вашего сайта.

Если у вас не получается создать файл error.php - можете скачать готовый:

Вложение:
error.rar [735 байт]
Скачиваний: 35




трёхголовый белк семейства рептилоидов:
"три головы - хорошо, на как же трудно придти к согласию..."
ошибки,phpbb3
Показать сообщения за:  Поле сортировки  
Ответить на тему  [ 1 сообщение ] 

Кто сейчас на сайте:

Всего посетителей: 0, из них зарегистрированных: 0, скрытых: 0 и гостей: 0 (основано на активности пользователей за последние 5 минут)
Больше всего посетителей (122) здесь было 19 дек 2023, 12:10

Сейчас этот раздел просматривают: нет зарегистрированных пользователей и гости: 0

Часовой пояс: UTC + 2 часа



Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения
Вы не можете защищать свои темы паролем

Найти:
Перейти:  




cron

Текущее время: 22 июл 2024, 00:10

Создано на основе phpBB® Forum Software © phpBB Group
Яндекс.Метрика

Полная версия Мобильный вид