Ich benutze Reagieren Router als root und alle Anfragen unter "/" sind angewiesen, Router zu reagieren. Und wenn react router festgestellt hat, dass die URL keiner der definierten Komponenten entspricht, wird sie mit der NoMatch-Komponente gerendert. Und hier geht das Problem, NoMatch gerendert wird und das ist was ich will, aber der Statuscode ist immer noch 200 statt 404. Und wenn meine CSS- oder JS-Dateien mit einem falschen URL platziert werden, reagiert der Router genauso, er antwortet mit 200 ! Und dann sagt mir die Seite, dass es ein Problem mit meinem Ressourcentyp gibt!Wie reagiert der Router mit 404 Statuscode?
Also, wie kann ich Reagieren Router verwenden, um alles in der "/" zu behandeln und immer noch 404 Fehler richtig behandeln (mit 404 Statuscode zu reagieren)?
Code in reagieren Router
render((
<Router history={browserHistory}>
<Route path="/" component={App}>
<IndexRoute component={Index}/>
<Route path="archived" component={App}>
<IndexRoute component={ArchivedPage}/>
<Route path="project/:projectId" component={ArchivedDetailPage}/>
</Route>
<Route path="*" component={NoMatch}/>
</Route>
</Router>
), document.getElementById('app'));
der servre Seite
router.use('/', function(req, res, next) {
res.render('index-react', {
title: 'some title'
});
});
Was haben Sie sich schon ausgedacht? Teilen Sie einige Code –
Code wird jetzt – Liang
Ich habe diese prop, aber reagieren Router nicht behandelt dies, es wird nicht Status 404 Fehler emittieren. Ist es möglich, einen 404-Statusfehler über Javascript auszulösen? – Liang