Pull to refresh

Comments 25

Терпеть не могу, когда на странице без спроса начинает играть музыка.
Я придерживаюсь мнения, что ни одна страница ни на одном сайте не должна выглядеть так:
Настоящая страница 404 должна у посетителя вызывать желание поскорее уйти оттудова и поскорей забыть это место… :)
Сразу вопрос, как в ExpressJS (Node.JS) сделать свои 404 страницы. app.get('*' не помогает, ибо по этому роуту проходит вся статика, а это все, что написано в официальной документации.
Уточню. Сначала подключаете статику, потом подключаете раутер а в самом конце ловите 404.

// Error handling
app.error(function(err, req, res, next){
    console.log(err);
    if (err instanceof NotFound) {
        res.render('errors/404', {
            title : 'Not Found',
            layout: 'login/layout',
            status: 404
        });
    } else {
        res.render('errors/500', {
            title : 'The Server Encountered an Error',
            layout: 'login/layout',
            error: err,
            status: 500
        });
    }
});

function NotFound(msg) {
    this.name = 'NotFound';
    Error.call(this, msg);
    Error.captureStackTrace(this, arguments.callee);
}

в конце всех роутов:
app.all('*', function(req, res){
    throw new NotFound('URL: ' + req.url);
});
Может я что-то не так делаю, но у меня не работает в таком случае статика.
Node v0.6.17
Express v2.5.8

app.configure(function(){
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.cookieParser());
  app.use(express.bodyParser());
  //app.use(express.methodOverride());
  app.use(express.static('/www/r/node/public'));
  app.use(app.router);
});

app.error(function(err, req, res, next){
    console.log(err);
    if (err instanceof NotFound) {
        res.render('404', {
            title : 'Not Found',
			layout: false,
            status: 404
        });
    } else {
        res.render('500', {
            title : 'The Server Encountered an Error',
			layout: false,
            error: err,
            status: 500
        });
    }
});

function NotFound(msg) {
    this.name = 'NotFound';
    Error.call(this, msg);
    Error.captureStackTrace(this, arguments.callee);
}

app.get('/', routes.index);

// 404
app.all('*', function(req, res){
    throw new NotFound('URL: ' + req.url);
});
«Кажется, что-то отвалилось». Это хорошо. Попробую сделать у себя.
Ага, а можно еще: «Извините, но ни ваша страница, ни страница 404 ошибки не найдена.»
Сто миллиардов раз эта тема поднималась. По-моему, Лебедев её уже давно закрыл.
По-моему на этой странице
image
больше полезной информации, чем на этой
image

Страница 404, на которой лишь написано «Страница не найдена», не будет полезной для посетителя; даже ссылка «Вернуться на главную» не поможет.

Главное, что на ней бесполезной информации тоже гораздо больше.
Только вторая часть, имхо.
Вы хоть раз полностью прочитали все, что написано на первом скриншоте? Не забывайте программист и пользователи сайта видят его по разному — программисту лучше вывести trace, а пользователю просто сказать — у нас что-то сломалось.
Да, прочитал.
Там написано и то, и другое.
может не в тему, но мужики явно отжигают на последней странице 404=)
По-моему, еще стоит добавить, что нужно стремится чтобы на сайте количество подобных 404 страниц было минимальным, если такое возможно конечно. А то бывает вот, попадаешь — а там 404 еще и с надписью «страницы такой-то тут нет, но где-то у нас она тут может и есть, вот еще раз поиском воспользуйтесь» :))
Думал это перевод с yoast.com, а оказалось просто набор картинок с забавными зверушками. Так что я просто оставлю это здесь
tigors.net/custom-error-404-page/
И статья похоже (http://habrahabr.ru/post/142038/) и комменты к ней те же…
autorambler.ru/404 хорошая страница у авто-рамблера. Жаль, не сделали многопользовательские гоночки…
Подскажите плз как на IIS6 настроить 404 ошибку?
мы вот тут тоже настроили 404 ошибку. Без претензий на вирусность, но вроде симпатично)
Sign up to leave a comment.

Articles