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

Тема в разделе "DLE", создана пользователем lilkrank, 21 мар 2009.

Информация :
Актуальная версия DataLife Engine 11.3
( Final Release v.11.3 | Скачать DataLife Engine | Скачать 11.3 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.2 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. lilkrank

    lilkrank Создатель

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

    Заранее благодарен :)
     
  2. kandasoft

    kandasoft Читатель

    Заблокирован
    Регистр.:
    17 окт 2007
    Сообщения:
    259
    Симпатии:
    143
    в htaccess (тот что в корне) пропиши:
    Код:
    ErrorDocument 404 /error_404.html 
    Где error_404.htm - созданная тобой страница.

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

    lilkrank Создатель

    Регистр.:
    30 июн 2008
    Сообщения:
    35
    Симпатии:
    2
    404 ошибка

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

    Перейти по ссылке
    Перейти по ссылке
    Перейти по ссылке
    Только в последнем случае работает, а в первых 2х - нет...
     
  4. AleXSuS

    AleXSuS

    Регистр.:
    27 фев 2009
    Сообщения:
    195
    Симпатии:
    55
    Чтобы заработало, как вам надо попробуйте поменять в .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
     
    lilkrank нравится это.
  5. lilkrank

    lilkrank Создатель

    Регистр.:
    30 июн 2008
    Сообщения:
    35
    Симпатии:
    2
    Опять не помогло :ppc:
     
  6. AleXSuS

    AleXSuS

    Регистр.:
    27 фев 2009
    Сообщения:
    195
    Симпатии:
    55
    Почему не помогло? вот для этой ссылки заработало! Тот код который я дал, так и работает, что именно для .html файлов http://pho-nes.ru/sjf.html
     
  7. lilkrank

    lilkrank Создатель

    Регистр.:
    30 июн 2008
    Сообщения:
    35
    Симпатии:
    2
    404

    А это я вообще убрал вот это:
    Код:
    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]
     
  8. AleXSuS

    AleXSuS

    Регистр.:
    27 фев 2009
    Сообщения:
    195
    Симпатии:
    55
    тогда вам лучше сделать так и тоже будет работать:
    Код:
    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
    а потому что последняя строчка стала закомментирована знаком #

    а вообще попробуйте сделать, как я дописал выше
     
  9. lilkrank

    lilkrank Создатель

    Регистр.:
    30 июн 2008
    Сообщения:
    35
    Симпатии:
    2
    Дело то в том, что она и была закомментирована, смотрите вы мне сами предложили раскомментировать её, только толку от этого не вышло... И все ошибки у меня прописаны, как вы указали выше... а на не существующие ссылки, вида 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} ^Перейти по ссылке [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} ^Перейти по ссылке [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
    
     
  10. AleXSuS

    AleXSuS

    Регистр.:
    27 фев 2009
    Сообщения:
    195
    Симпатии:
    55
    Это максимум, что можно сделать вроде. Такого типа урл движок пытается открыть как категорию, и её не находит естественно.
    Можно изменить текст ошибки в языковом файле и добавить для вывода там же картинку, если надо, но это будет всё-таки в шаблоне движка выводиться.
     
    lilkrank нравится это.
Статус темы:
Закрыта.