CMS DataLife Engine - Система управления сайтами

lalalag

"DLE 11.3" страница 404

Recommended Posts

Подскажите как решить проблему с страницей 404

Делал через правку .htaccess 

ErrorDocument 404 /404.html

Не работает.

 

Правил файл /engine/egine.php

if (!$category_id) $category_id = 'not detected';

менял на:

if (!$category_id AND $view_template != "rss") { header("HTTP/1.0 404 Not Found"); header("Status: 404 Not Found"); @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html'); exit(); }

 

и файлы engine/modules/static.php

 

ничего не работает.

ссылки формата /o-kompanii.html

 

При ошибке выдает текст:

ВНИМАНИЕ! ОБНАРУЖЕНА ОШИБКА

К сожалению, страница o-komp22anii.html для Вас не доступна: возможно, был изменен её адрес или она была удалена. Пожалуйста, воспользуйтесь поиском.

 

Помогите плз

Share this post


Link to post
Share on other sites
16 часов назад, lalalag сказал:

При ошибке выдает текст:

ВНИМАНИЕ! ОБНАРУЖЕНА ОШИБКА

это вообще то и есть 404 страница, с 404 кодом.

Share this post


Link to post
Share on other sites
1 час назад, celsoft сказал:

это вообще то и есть 404 страница, с 404 кодом.

Человек хочет отдавать свою 404-ю страницу, видимо с каким-то другим оформлением.

Share this post


Link to post
Share on other sites
8 минут назад, germanydletest сказал:

Человек хочет отдавать свою 404-ю страницу, видимо с каким-то другим оформлением.

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

Share this post


Link to post
Share on other sites

Добрый день!

 

В 10.5 в .htaccess такая запись

ErrorDocument 404 http://сайт.ру/404.html

действительно работала (это в случае попытки открытия несуществующих страниц новостей, но не категорий).

 

В 12.0 такая запись через .htaccess уже не работает. Скажите, пожалуйста, действительно а есть ли возможность показывать свою 404-ю страницу?

Share this post


Link to post
Share on other sites
18 часов назад, LADYX сказал:

В 10.5 в .htaccess такая запись

 

18 часов назад, LADYX сказал:

12.0 такая запись через .htaccess уже не работает.

Зачем вы придумываете несуществующее и несуществовавшее никогда? Народ изучите хоть чуть чуть мат часть. Что делает в .htaccess строка ErrorDocument 404 http://сайт.ру/404.html и чем она управляет? Чем вообще управляет .htaccess? Он управляет сервером Apache, а не DLE. Делает это строка то что указывает серверу (не DLE) что если нет физического файла, на сервере то показывать содержимое http://сайт.ру/404.html 

 

Новости в DLE и статические страницы и вообще все, это что физические на сервере файлы? Нет, нет и еще раз нет, и никогда ими не были. Это данные БД. А теперь скажите как  вы данными из БД, которые обрабатывает скрипт собираетесь управлять или как вы пишите управляли через .htaccess? Никак вы это не сделаете и не могли этого сделать. Это же элементарные вещи обязанный знать любой кто вебмастер и делает свой сайт, а вы здесь все такие, вы делаете свои файлы, но хотя бы элементарную базу то изучите.

 

Ваша строка строка ErrorDocument 404 http://сайт.ру/404.html в .htaccess срабатывает только тогда, когда вы обращаетесь к физически несуществующему файлу на сервер, например  http://сайт.ру/test.php и больше никогда и ни в каких случаях вам это не сработает, а новости и все прочее показывает вам DLE и физически существующие!!! на сервере файлы. Поэтому если вы хотите переделать DLE то и править нужно DLE и писать для этого PHP код, а не пытаться что то сделать в .htaccess который управляет только апачем и не чем больше.

Share this post


Link to post
Share on other sites

Владимир, то что вы пишите, это все так, и я с вами полностью согласен. Но я не собираюсь никого вводить в заблуждение, а факт остается фактом. В .htaccess такая запись перекочевала из версии 10.5 в версию 12.0. И когда сайт был на десятой версии, то при наборе несуществующей страницы, например, сайт.ру/раздел/9999999999999999-novosti.html, открывалась именно созданная статическая страница 404.html. Удалив запись с .htaccess, она переставала открываться, добавив запись - она снова показывалась. Сейчас она не открывается даже при наличии записи в .htaccess.

 

Это конечно не страшно, да и в принципе она сильно ни к чему. Просто интересно, почему так. И еще раз, факт остается фактом, никто никого не обманывает, а описываю ситуацию, как она есть на самом деле. Может быть я чего-то не понимаю.

Share this post


Link to post
Share on other sites
13 часа назад, LADYX сказал:

Но я не собираюсь никого вводить в заблуждение, а факт остается фактом. В .htaccess такая запись перекочевала из версии 10.5 в версию 12.0. И когда сайт был на десятой версии, то при наборе несуществующей страницы, например, сайт.ру/раздел/9999999999999999-novosti.htm

Запись в .htaccess может управлять только тем что не обрабатывает DLE, т.е. то что не попадает под правила ЧПУ для новостей, а правила ЧПУ для новостей не менялись уже лет 10. Типы ЧПУ всегда были одинаковы в DLE.

Share this post


Link to post
Share on other sites

DLE v. 12.0

1. Создать в корне сайта папку и страницу ошибки, например /erpage/404.html

2. В файлах:

/engine/modules/feedback.php --- 453 строка
/engine/modules/main.php --------- 549 строка
/engine/modules/profile.php ------- 834 строка
/engine/modules/social.php ------- 767; 827; 833; 840 строки
/engine/modules/static.php -------- 475 строка

 

в следующей строке после:

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

вставить:

exit( include "erpage/404.html" );

 

Edited by Captain

Share this post


Link to post
Share on other sites
51 минуту назад, celsoft сказал:

Запись в .htaccess может управлять только тем что не обрабатывает DLE, т.е. то что не попадает под правила ЧПУ для новостей, а правила ЧПУ для новостей не менялись уже лет 10. Типы ЧПУ всегда были одинаковы в DLE.

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

Спасибо вам!

 

Captain, спасибо! Может быть кому-то и пригодится. А я, например, пасс, не хочу делать лишние правки в файлах.

Share this post


Link to post
Share on other sites

Возникла аналогичная необходимость

 

Кто знает (подскажет) как сделать редирект с 404,  401, 403, 500 на аналогичные статистические (созданные средствами движка) страницы?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now