Jump to content
Sign in to follow this  
fagediba

Как в дле сделать свою 404

Recommended Posts

В общем все дле они при вбивании в адресною строку всякой галиматьи - т.е. несуществующей страницы - выводят страницу в которой пишут "данная новость не найдена" - при этом грузят все все скрипты. Можно ли как нибудь сделать чтоб вместо этой ошибки просто загружалась статическая ошибка, например /404.html - это снизит нагрузку на сервер

Share this post


Link to post
Share on other sites

Тоже интересно :rolleyes:

Share this post


Link to post
Share on other sites

Нашел. Ошибка называется news_err_27

файл /engine/modulesshow.short.php

нужно подредактировать строки

elseif (!$news_found AND !$allow_userinfo AND $do != '' AND $do != 'favorites') { @header("HTTP/1.0 404 Not Found");  msgbox ($lang['all_err_1'], $lang['news_err_27']);  }

elseif (!$news_found AND $catalog != "") { @header("HTTP/1.0 404 Not Found");  msgbox ($lang['all_err_1'], $lang['news_err_27']);   }
заменил следующим
elseif (!$news_found AND !$allow_userinfo AND $do != '' AND $do != 'favorites') { /* @header("HTTP/1.0 404 Not Found"); msgbox ($lang['all_err_1'], $lang['news_err_27']); */  header("Location: /uploads/404.html"); exit;  }

elseif (!$news_found AND $catalog != "") { /* @header("HTTP/1.0 404 Not Found"); msgbox ($lang['all_err_1'], $lang['news_err_27']); */ header("Location: /uploads/404.html"); exit;  }

т.е. просто редирект на статическую ошибку

Share this post


Link to post
Share on other sites

Я не могу найти этот файл /engine/modulesshow.short.phpу у меня его нет подскажите :(:(

Edited by Александр Сергеевич

Share this post


Link to post
Share on other sites

файл /engine/modules/show.short.php

Спасибо :)

Share this post


Link to post
Share on other sites

А как сделатъ на вывод своей собственной html? Я бы ее хотел немного приукрасить :)

Share this post


Link to post
Share on other sites

Закидываем файл ошибки в корень сайта. (у меня, это 404.php)

Открываем .htaccess и в самом низу добавляем:

ErrorDocument 404 /404.php
Открываем файл engine/modules/static.php находим:
	msgbox( $lang['all_err_1'], $lang['news_page_err'] );
Заменяем на:
	require_once ROOT_DIR.'/404.php';

	die();
Открываем файл engine/modules/show.short.php находим:
	msgbox( $lang['all_err_1'], $lang['news_err_27'] );
Заменяем на (повторяется 2 раза, 2 раза и заменяем):
	require_once ROOT_DIR.'/404.php';

	die();
Открываем файл engine/modules/show.full.php находим:
	msgbox( $lang['all_err_1'], $lang['news_err_12'] );
Заменяем на:
	require_once ROOT_DIR.'/404.php';

	die();

У меня всё работает, версия скрипта 8.2.

  • Upvote 2

Share this post


Link to post
Share on other sites

Закидываем файл ошибки в корень сайта. (у меня, это 404.php)

.....

У меня всё работает, версия скрипта 8.2.

Круто! Тоже спасибо, поставил жирный плюс!

А как сделать так. что бы при ошибке (отсутствии страницы) скрипт переправлял посетителя сразу например на Главную страниц?

Share this post


Link to post
Share on other sites

Мне тоже надо сделать редирект на главную, чтобы при наборе

http://mysite.ru/fdjkgkjdfhghfdgjhgd

http://mysite.ru/fdjkgkjdfhghfdgjhgd.html

http://mysite.ru/fdjkgkjdfhghfdgjhgd.php

Перебрасывало на главную но заголовок сохранялся 404 чтобы поисковики не индексили мусор а посетители не уходили с сайта.

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

Share this post


Link to post
Share on other sites

Мне тоже надо сделать редирект на главную, чтобы при наборе

http://mysite.ru/fdjkgkjdfhghfdgjhgd

http://mysite.ru/fdjkgkjdfhghfdgjhgd.html

http://mysite.ru/fdjkgkjdfhghfdgjhgd.php

Перебрасывало на главную но заголовок сохранялся 404 чтобы поисковики не индексили мусор а посетители не уходили с сайта.

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

Несколько не то что надо:

RewriteRule ^index.php(/?)+$ /fdjkgkjdfhghfdgjhgd [L] (записать в .htaccess)

т.е. при наборе http://mysite.ru/fdjkgkjdfhghfdgjhgd, будет выводится http://mysite.ru/index.php, но URL останется тем же (http://mysite.ru/fdjkgkjdfhghfdgjhgd)

Edited by Vityacv

Share this post


Link to post
Share on other sites

Мне тоже надо сделать редирект на главную, чтобы при наборе

http://mysite.ru/fdjkgkjdfhghfdgjhgd

http://mysite.ru/fdjkgkjdfhghfdgjhgd.html

http://mysite.ru/fdjkgkjdfhghfdgjhgd.php

Перебрасывало на главную но заголовок сохранялся 404 чтобы поисковики не индексили мусор а посетители не уходили с сайта.

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

Несколько не то что надо:

RewriteRule ^index.php(/?)+$ /fdjkgkjdfhghfdgjhgd [L] (записать в .htaccess)

т.е. при наборе http://mysite.ru/fdjkgkjdfhghfdgjhgd, будет выводится http://mysite.ru/index.php, но URL останется тем же (http://mysite.ru/fdjkgkjdfhghfdgjhgd)

вообще то я имел ввиду, что fdjkgkjdfhghfdgjhgd это страницы 404, В ДЛЕ, есть внутренняя обработка страниц 404 когда он не находит какой либо новости то пишет

Внимание, обнаружена ошибка

По данному критерию новости не найдены, либо у вас нет доступа для просмотра этих новостей.

Вот, собственно я хотел бы, чтобы вместо надписи отображался контент как на главной, но при этом, чтобы поисковики понимали, что эта страница 404 и не индексировалии ее, чтобы не посоздавали дублей. Это поможет удержать посетителей. Если поможете, буду очень благодарен.

Share this post


Link to post
Share on other sites

А у меня такая проблема. Ставим сторонний скрипт, заходим например в http://домен/папка_скрипт/admin.php, дальше все ссылки имеют примерно такой вид - http://домен/папка_скрипт/?a=referrers, кликаем - попадаем на "DLE-404-новость не найдена". Попробовал вырезать/заменять на статичную 404 - все равно не получается. Я так понимаю надо не только удалить код из 3х файлов, но и что-то подкрутить в .htaccess ?

Share this post


Link to post
Share on other sites

кинь в эту папку .htaccess

и напиши там rewriteengine off

Share this post


Link to post
Share on other sites

кинь в эту папку .htaccess

и напиши там rewriteengine off

Огромное тебе спасибо! Все получилось.

Share this post


Link to post
Share on other sites

А как сделать так. что бы при ошибке (отсутствии страницы) скрипт переправлял посетителя сразу например на Главную страниц?

Не самый лучший вариант оставить пользователя на сайте. Лучше грамотно оформить 404 и заманить пользователя куда вам угодно.

Share this post


Link to post
Share on other sites

А не подскажите ли, сделал все как написано, но при наборе например адреса www.mobile-soft.su/tratatatatata.html просто вообще ничего не открывается и ничего не пишет... Как быть?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...