Comments 25
Можно сделать что-нибудь необычное и с претензией на вирусность.
+8
Настоящая страница 404 должна у посетителя вызывать желание поскорее уйти оттудова и поскорей забыть это место… :)
0
Сразу вопрос, как в ExpressJS (Node.JS) сделать свои 404 страницы. app.get('*' не помогает, ибо по этому роуту проходит вся статика, а это все, что написано в официальной документации.
+1
Можно с помощью node-boilerplate, вот пример github.com/robrighter/node-boilerplate/blob/master/templates/app/server.js
0
Уточню. Сначала подключаете статику, потом подключаете раутер а в самом конце ловите 404.
0
// 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);
});
0
Может я что-то не так делаю, но у меня не работает в таком случае статика.
Node v0.6.17
Express v2.5.8
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);
});
0
Мы у себя сделали набор страниц подобного рода:
snk-games.ru/502.html
snk-games.ru/404.html
snk-games.ru/403.html
snk-games.ru/502.html
snk-games.ru/404.html
snk-games.ru/403.html
0
Ага, а можно еще: «Извините, но ни ваша страница, ни страница 404 ошибки не найдена.»
+3
Сто миллиардов раз эта тема поднималась. По-моему, Лебедев её уже давно закрыл.
+1
По-моему на этой странице
больше полезной информации, чем на этой
больше полезной информации, чем на этой
Страница 404, на которой лишь написано «Страница не найдена», не будет полезной для посетителя; даже ссылка «Вернуться на главную» не поможет.
+1
Главное, что на ней бесполезной информации тоже гораздо больше.
+6
Вы хоть раз полностью прочитали все, что написано на первом скриншоте? Не забывайте программист и пользователи сайта видят его по разному — программисту лучше вывести trace, а пользователю просто сказать — у нас что-то сломалось.
+2
может не в тему, но мужики явно отжигают на последней странице 404=)
0
По-моему, еще стоит добавить, что нужно стремится чтобы на сайте количество подобных 404 страниц было минимальным, если такое возможно конечно. А то бывает вот, попадаешь — а там 404 еще и с надписью «страницы такой-то тут нет, но где-то у нас она тут может и есть, вот еще раз поиском воспользуйтесь» :))
0
Думал это перевод с yoast.com, а оказалось просто набор картинок с забавными зверушками. Так что я просто оставлю это здесь
tigors.net/custom-error-404-page/
tigors.net/custom-error-404-page/
0
И статья похоже (http://habrahabr.ru/post/142038/) и комменты к ней те же…
0
autorambler.ru/404 хорошая страница у авто-рамблера. Жаль, не сделали многопользовательские гоночки…
0
Подскажите плз как на IIS6 настроить 404 ошибку?
0
мы вот тут тоже настроили 404 ошибку. Без претензий на вирусность, но вроде симпатично)
-1
Sign up to leave a comment.
Улучшаем страницу 404-ой ошибки