• DONATE to NULLED!
    Форуму и его команде можно помочь, мотивировать модераторов разделов.
    Помогите модератору этого раздела killoff лично.

Помощь Страницы ошибок DLE

Статус
В этой теме нельзя размещать новые ответы.

lilkrank

Создатель
Регистрация
30 Июн 2008
Сообщения
35
Реакции
2
В общем есть небольшой хак страниц ошибок для dle, можно прописать в .htacces страницы ошибок, но всё это работает только для не найденных файлов, скриптов, но не для обычных страниц... когда не найдена обычная страница, категория - появляется стандартная ошибка DLE... Вот, собственно, кто знает как поставить свою страницу ошибки?

Заранее благодарен :)
 
  • Заблокирован
  • #2
в htaccess (тот что в корне) пропиши:
Код:
ErrorDocument 404 /error_404.html

Где error_404.htm - созданная тобой страница.

P.S. можешь сделать для любой ошибки, изменив только номер ошибки в ErrorDocument 404
 
404 ошибка

в htaccess (тот что в корне) пропиши:
Код:
ErrorDocument 404 /error_404.html

Где error_404.htm - созданная тобой страница.
Вот я собственно про это и говорил, то что не помогает такое... Всё равно появляется стандартная страница ошибки dle
Вот например, прописаны практически все ошибки(404 в том числе) в .htacces:

Только в последнем случае работает, а в первых 2х - нет...
 
Чтобы заработало, как вам надо попробуйте поменять в .htaccess это:

Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]

на это:

Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]

или как вариант, который почти точно должен работать, то нужно в корне создать папку errors и туда поместить странички ошибок, и вот такой код в htaccess тогда будет (просто тот htaccess который в корне dle многое изменяет в поведение движка, а если в папке, то не будет:(

Код:
#При получении ошибки - сообщаем об этом скрипту
ErrorDocument 400 /errors/400.html
ErrorDocument 401 /errors/401.html
ErrorDocument 403 /errors/403.html
ErrorDocument 404 /errors/404.html
ErrorDocument 500 /errors/500.html
ErrorDocument 503 /errors/503.html
 
Чтобы заработало, как вам надо попробуйте поменять в .htaccess это:

Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
#RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]

на это:

Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]
Опять не помогло :ppc:
 
Почему не помогло? вот для этой ссылки заработало! Тот код который я дал, так и работает, что именно для .html файлов
 
404

Почему не помогло? вот для этой ссылки заработало! Тот код который я дал, так и работает, что именно для .html файлов *** скрытое содержание ***
А это я вообще убрал вот это:
Код:
RewriteCond %{REQUEST_FILENAME} !-f
т.е. у меня получилось вот так:
Код:
RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
#RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]
 
тогда вам лучше сделать так и тоже будет работать:
Код:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
#RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]

стало работать не из-за того что строчку убрали эту:
Код:
RewriteCond %{REQUEST_FILENAME} !-f

а потому что последняя строчка стала закомментирована знаком #

а вообще попробуйте сделать, как я дописал выше
 
а потому что последняя строчка стала закомментирована знаком #

а вообще попробуйте сделать, как я дописал выше
Дело то в том, что она и была закомментирована, смотрите вы мне сами предложили раскомментировать её, только толку от этого не вышло... И все ошибки у меня прописаны, как вы указали выше... а на не существующие ссылки, вида site.ru/sava всё равно выдаёт стандартную ошибку...
В общем вот вам на растерзание мой .htacces:
Код:
DirectoryIndex index.php
php_value upload_max_filesize 400M
php_value post_max_size 400M

RewriteEngine On

# С www на без www
RewriteCond %{HTTP_HOST} ^[url]www.s60.cx0.ru[/url] [NC]
RewriteRule ^(.*)$ http://pho-nes.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^s60.cx0.ru [NC]
RewriteRule ^(.*)$ http://pho-nes.ru/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^[url]www.pho-nes.ru[/url] [NC]
RewriteRule ^(.*)$ http://pho-nes.ru/$1 [L,R=301]


# Репутация
RewriteRule ^user/reputation/([^/]*)/(/?)+$ index.php?do=reputation&user=$1 [L]
RewriteRule ^user/reputation/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=reputation&user=$1&page=$2 [L]
RewriteRule ^topusers\.html$ /?do=topusers [L]


# Редиректы
RewriteRule ^page/(.*)$ index.php?cstart=$1 [L]
RewriteRule ^sms(/?)+$ /?do=sms [L]
RewriteRule ^shop.html$ index.php?do=shop [L]

# DLE Forum
RewriteRule ^forum(/?)+$ /index.php?do=forum [L]
RewriteRule ^forum/category_([0-9]+)(/?)+$ index.php?do=forum&category=$1 [L]
RewriteRule ^forum/forum_([0-9]+)(/?)+$ index.php?do=forum&showforum=$1 [L]
RewriteRule ^forum/forum_([0-9]+)/([0-9]+)(/?)+$ index.php?do=forum&showforum=$1&cstart=$2 [L]
RewriteRule ^forum/topic_([0-9]+)(/?)+$ index.php?do=forum&showtopic=$1 [L]
RewriteRule ^forum/topic_([0-9]+)/last(/?)+$ index.php?do=forum&showtopic=$1&lastpost=1 [L]
RewriteRule ^forum/topic_([0-9]+)/([0-9]+)(/?)+$ index.php?do=forum&showtopic=$1&cstart=$2 [L]
RewriteRule ^forum/topic_([0-9]+)/reply(/?)+$ index.php?do=forum&act=_topic&code=reply&tid=$1 [L]
RewriteRule ^forum/forum_([0-9]+)/add(/?)+$ index.php?do=forum&act=add_topic&forum_id=$1 [L]
RewriteRule ^forum/search(/?)+$ index.php?do=forum&act=search [L]
RewriteRule ^forum/search/([^/]+)/([0-9]+)(/?)+$ index.php?do=forum&act=search&search_text=$1&cstart=$2 [L]
RewriteRule ^forum/subscription(/?)+$ index.php?do=forum&act=subscription [L]
RewriteRule ^forum/getnew(/?)+$ index.php?do=forum&act=getnew [L]
RewriteRule ^forum/getnew/([0-9]+)(/?)+$ index.php?do=forum&act=getnew&cstart=$1 [L]
RewriteRule ^forum/warn/([^/]*)(/?)+$ index.php?do=forum&act=warn&user=$1 [L]
RewriteRule ^forum/warn/([^/]*)/([0-9]+)(/?)+$ index.php?do=forum&act=warn&user=$1&cstart=$2 [L]
RewriteRule ^forum/reputation/([^/]*)(/?)+$ index.php?do=forum&act=reputation&user=$1 [L]
RewriteRule ^forum/reputation/([^/]*)/([0-9]+)(/?)+$ index.php?do=forum&act=reputation&user=$1&cstart=$2 [L]
RewriteRule ^forum/textversion.html$ engine/forum/textversion.php [L] 

# Сам пост
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html(/?)+$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html(/?)+$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$2&newsid=$3 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html(/?)+$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html(/?)+$ engine/print.php?news_page=$1&newsid=$2 [L]
RewriteRule ^([0-9]+)-(.*).html(/?)+$ index.php?newsid=$1 [L]

# За день
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2&day=$3 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&day=$3&cstart=$4 [L]
# За весь месяц
RewriteRule ^([0-9]{4})/([0-9]{2})(/?)+$ index.php?year=$1&month=$2 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/page/([0-9]+)(/?)+$ index.php?year=$1&month=$2&cstart=$3 [L]
# Вывод за весь год
RewriteRule ^([0-9]{4})(/?)+$ index.php?year=$1 [L]
RewriteRule ^([0-9]{4})/page/([0-9]+)(/?)+$ index.php?year=$1&cstart=$2 [L]
# вывод отдельному тегу
RewriteRule ^tags/([^/]*)(/?)+$ index.php?do=tags&tag=$1 [L]
RewriteRule ^tags/([^/]*)/page/([0-9]+)(/?)+$ index.php?do=tags&tag=$1&cstart=$2 [L]
# вывод для отдельного юзера
RewriteRule ^user/([^/]*)/rss.xml$ engine/rss.php?subaction=allnews&user=$1 [L]
RewriteRule ^user/([^/]*)(/?)+$ index.php?subaction=userinfo&user=$1 [L]
RewriteRule ^user/([^/]*)/news(/?)+$ index.php?subaction=allnews&user=$1 [L]
RewriteRule ^user/([^/]*)/news/page/([0-9]+)(/?)+$ index.php?subaction=allnews&user=$1&cstart=$2 [L]
RewriteRule ^user/([^/]*)/news/rss.xml(/?)+$ engine/rss.php?subaction=allnews&user=$1 [L]
# вывод всех последних новостей
RewriteRule ^lastnews/(/?)+$ index.php?do=lastnews [L]
RewriteRule ^lastnews/page/([0-9]+)(/?)+$ index.php?do=lastnews&cstart=$1 [L]
# вывод в виде каталога
RewriteRule ^catalog/([^/]*)(/?)+$ index.php?catalog=$1 [L]
RewriteRule ^catalog/([^/]*)/page/([0-9]+)(/?)+$ index.php?catalog=$1&cstart=$2 [L]
# вывод непрочитанных статей
RewriteRule ^newposts(/?)+$ index.php?subaction=newposts [L]
RewriteRule ^newposts/page/([0-9]+)(/?)+$ index.php?subaction=newposts&cstart=$1 [L]
# Статистические страницы
RewriteRule ^static/(.*).html(/?)+$ index.php?do=static&page=$1 [L]
# вывод избранных статей
RewriteRule ^favorites(/?)+$ index.php?do=favorites [L]
RewriteRule ^user/([^/]*)/favorites(/?)+$ index.php?do=favorites&user=$1 [L]
RewriteRule ^favorites/page/([0-9]+)(/?)+$ index.php?do=favorites&cstart=$1 [L]


RewriteRule ^rules.html$ index.php?do=rules [L]
RewriteRule ^statistics.html$ index.php?do=stats [L]
RewriteRule ^register.html$ index.php?do=register [L]
RewriteRule ^addnews.html$ index.php?do=addnews [L]
RewriteRule ^rss.xml$ engine/rss.php [L]
RewriteRule ^sitemap.xml$ uploads/sitemap.xml [L]
RewriteRule ^contact.html$ index.php?do=feedback [L]

RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/page/([0-9]+)(/?)+$ index.php?do=cat&category=$1&cstart=$2 [L]
RewriteRule ^([^.]+)/?$ index.php?do=cat&category=$1 [L]
RewriteRule ^([^<]+)/rss.xml$ engine/rss.php?do=cat&category=$1 [L]
RewriteRule ^page,([0-9]+),([^/]+).html$ index.php?do=static&page=$2&news_page=$1 [L]
#RewriteRule ^([^/]+).html$ index.php?do=static&page=$1 [L]

ErrorDocument 400 /error/404.html
ErrorDocument 401 /error/404.html
ErrorDocument 403 /error/404.html
ErrorDocument 404 /error/404.html
ErrorDocument 500 /error/404.html
ErrorDocument 503 /error/404.html
 
Это максимум, что можно сделать вроде. Такого типа урл движок пытается открыть как категорию, и её не находит естественно.
Можно изменить текст ошибки в языковом файле и добавить для вывода там же картинку, если надо, но это будет всё-таки в шаблоне движка выводиться.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху