Войти

Показать полную графическую версию : Общий ErrorDocument в .htaccess


blacks2
27-08-2009, 22:11
Вот задачка родилась в голове:

Возможно ли сделать так чтоб в htaccess выставить только 5-7 основных ErrorDocument на страницы вида error404.html
А все остальные ошибки не прописывались в htaccess построчно а были в коротком виде и редиректили на одну стр error.html
Возможно?
Как можно реализовать?

Предполагаю(даже вроде видел вариант исполнения) можно делать стр ошибки на php и ей генерить ответы
Но на мой взгляд не нужно лишних php
И я не понимаю как передать "все" ошибки на страницу error.html
Ведь не сделать ErrorDocument */error.html

Igor_I
27-08-2009, 22:22
Так ведь ошибка 404 одна, зачем 5-7 вариантов?

blacks2
28-08-2009, 03:31
Немного не так:
для ошибок 404 403 500 и еще каких (допустим всего 3) сделать соответственны страницы вида error404.html
прописать их в htaccess как ErrorDocument 404 /error404.html

для оставшихся ошибок не указывать ErrorDocument 401 /error401.html
а обозначить/написать условие при котором в случае возникновения любой ошибки не указанной в диапазоне(404 403 500) выводилась страница error.html

вот такая вот задачка

Sham
28-08-2009, 14:34
blacks2, каждая ошибка уникальна, и для каждой предусмотрен свой ErrorDocument (дефолтные определены в конфиге сервера). Большинство ошибок отрабатываются на уровне сервера, и переопределять их в htaccess бессмысленно...

blacks2
28-08-2009, 17:28
и переопределять их в htaccess бессмысленно... »
Не понял о чем вы - страничку то с ошибкой выводить нужно

Sham
28-08-2009, 18:46
ErrorDocument, переопределяемый в htaccess, будет действовать только на ошибки, возникаемые в контексте папки, где лежит htaccess... т.е. достаточно определить 404...
Общий адрес для всех ошибок задать не получится (ErrorDocument не понимает списка аргументов, регулярных выражений или масок)...

blacks2
28-08-2009, 20:56
Подвожу итог:

Прописывайте все ошибки в htaccess
или сделайте основные а остальные оставить на хостера

(если чего не так поправте меня)




© OSzone.net 2001-2012