9

私はルートとして反応ルータを使用しており、 "/"の下のすべての要求は反応ルータに向けられています。また、反応ルータは、URLが定義されたコンポーネントのいずれとも一致しないことを発見すると、NoMatchコンポーネントでレンダリングします。ここで問題が起こり、NoMatchがレンダリングされ、それが私の望むものですが、ステータスコードは404ではなく200です。そして、私のcssファイルまたはjsファイルが間違ったurlで配置されると、ルータは同じことをします。 !そして、そのページは私のリソースのコンテンツタイプにいくつかの問題があることを教えてくれます!ルーターを404状態コードで反応させるにはどうすればいいですか?

リアルータを使用して "/"内のすべてを処理し、それでも404エラーを処理できるようにするには(404ステータスコードで応答する)?

のコードでは、これを行うには、ルータ

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')); 

servre側

router.use('/', function(req, res, next) { 
    res.render('index-react', { 
     title: 'some title' 
    }); 
    }); 
+0

あなたはすでに思い付いたことがありますか?いくつかのコードを共有 –

+0

コードは現在提供されています – Liang

+0

私はその小道具を追加しましたが、反応ルータはこれを処理しなかった、それはステータス404エラーを放出しません。 javascript経由で404ステータスエラーを発行することは可能ですか? – Liang

答えて

2

を反応させ、あなたはルートが一致するかどうかを確認するために、だけでなく、サーバー上の一致を実行する必要があります。もちろん、これを行うつもりなら、本格的なサーバーサイドレンダリングを行うこともできます。 server rendering guideを参照してください。あなたは反応し、ルータ2.0.0で

+3

私は404ページに行くこのリンクの皮肉が大好きです:-) – Philiiiiiipp

+0

将来の私のための更新されたリンク:https://reacttraining.com/react-router/web/guides/server-rendering – eselk

10

を行うことができます。

<Route path="*" component={NoMatch} status={404}/> 
5

禅:サイレントネットワークのエラーコードは何ですか?

この質問にも私は困惑しました。奇妙なケースでは、HTTPエラーコードを変更しません。ランダムなURLが呼び出されたので、私たちはすべきだと思いますが、なぜですか?

SPA(シングルページアプリケーション)では、ネットワークトラフィックはなく、ペインの切り替えだけです。 HTTPエラーコードは新しいページを提供するヘッダーにあり、すべてのコンテンツは新しいページをリロードしない<div>という名前になっています。ページを投げたり、新しいページを送信してレンダリングして404の戻りコードを付けたり、ユーザーが離れたときに元のページを再度送信したりする必要があります。

そして、その唯一のユーザー。 404エラーコード、または他のHTTPコードは、実際にはブラウザまたはサービスのヒントです。要求者がブラウザである場合、人間はブラウザが提供するよりも優れた兆候が与えられる。リクエスタがクローラの場合は、おそらく<h1>の404でスキャンします。依頼者があなたのウェブサイトをAPIとして使用している場合、それはなぜ良いことですか?

答えは、HTTPステータスコードを習慣から外したことです。しないでください。

関連する問題