2014-11-18 13 views
9

Meteor uygulamasında IR kullanan bir rotaya rastlamadığımda, bir tarayıcıda (bir tarayıcıda işlendiğinde) bir js hatası görüntüleyen bir HTML ile 200 yanıtı alıyorum No route found for path: "/aRoute" söyleyerek.Demir Yönlendiriciyi kullanarak 404 nasıl dönülür

Geri dönüşü nasıl yapabilir 404? , Sen başlangıç ​​her yolda kullanırsanız bunu daha karmaşık hale getirebilir Tabii bu

için yakalanacak -

cevap

7

gerçek 404 's ele almanın doğru (hatta çalışan?) yolu olmalı görünmüyor şimdi. Örneğin bu soruna bakın: https://github.com/EventedMind/iron-router/issues/1055

'un çalışması gereken yolları denediğinizde, yine de 200 durum koduyla sonuçlanırsınız. Aşağıdaki kod aşağıdaki gibi çalışmalıdır:

this.route('pageNotFound', { 
    path: '/(.*)', 
    where: 'server', 
    action: function() { 
    this.response.writeHead(404); 
    this.response.end(html); 
    } 
}); 
+1

Teşekkürler! Bu sorunun çözülmesini beklemek zorundayız. –

0
this.route('template404', { 
    path: '/*' 
} 

, senin Router.map sonunda kullanın bu her değeri yakalar neden örneğin:

this.route('template404', { 
     path: '/posts/*' 
    } 
+0

İlk çözümle aynı hatayı alıyorum. –

+0

Yolu deneyin: '*'. – Sindis

+0

Ya işe yaramıyor. Çalışıyor musun? Meteor/IR hangi sürümünde? –

6

Bu sayfayı daha kolay gösterme yolu bulunamadı. router.js İşte

Router.configure({ 
    layoutTemplate: "layout", 
    loadingTemplate: "loading", 
    notFoundTemplate: "notFound" 
}) 

yılında "NOTFOUND" göstermek istediğiniz herhangi bir şablon olabilir 404 hata

+0

Sorun şu ki, başka bir uygulamanın tüketmesi için bir hata kodu döndürmeye çalışıyorum. Ayrıca, sunucu yerine istemci yönlendirici için bu kod değil mi? –

+2

hayır, bu yok * 404 durum kodu döndürmez, kod hala 200. –

İlgili konular