Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Как настроить отображение 404 страницы?

Как настроить отображение 404 страницы?


     24.08.2015    Общие вопросы, Общие вопросы по PHP    1231

вопрос
В DLE по умолчанию при открытии несуществующих страниц, например, http://site/net или http://site/net.html появляется текст «Внимание, обнаружена ошибка». Его можно изменить в файлах языка, но как добавить в него ссылки, свой текст и при этом оформить все это стилями?

Много разных решений имеется, но они делают редирект + далеко не всегда отдают 404 ответ серверу.

Как сделать так, чтобы страницы типа:

http://site/net
http://site/net.html
http://site/net.htm
http://site/net.php

Открывались в дизайне сайта (последние 2 открываются в другом дизайне), отдавали 404 ответ, не редиректили и можно было бы настроить свой текст? DLE 10.3.

Ответа пока нет


Комментарии пользователей (3)

dim
78 | 17

dim - 24 августа 2015 15:52 - Юзер

В файле /engine/modules/functions.php заменил:

function msgbox($title, $text) {
    global $tpl;

на:

function msgbox($title, $text) {
global $tpl, $lang;
if( in_array('HTTP/1.0 404 Not Found', headers_list()) || $text == $lang['news_err_27'] ) {
require_once ROOT_DIR.'/404.html';
die();
}else{
    $tplName = 'info.tpl';
}



Работает только со страницами без расширения типа site.ru/beleberda и т.д. А site.ru/beleberda.html показывают старый, традиционный текст "Внимание! Обнаружена ошибка." Как сделать, чтобы и эти страницы тоже работали?

finik
54 | 5

finik - 24 августа 2015 17:41 - Юзер

Попробуйте прописать в файл .htaccess
ErrorDocument 404 /404.html

dim
78 | 17

dim - 24 августа 2015 18:43 - Юзер

finik, да, я уже прописал, только при открытии .html все равно появлятся старое сообщение о том, что обнаружена ошибка. Остальные типы URL (/ php и htm) открываются так, как надо.

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы