1

次のようなコンテンツ ページを表示するためのルート/アクションがあるとします。

/Page/{slug}

{slug} は、訪問者が入力するものであれば何でもかまいませんが、空のままにすると、デフォルトで「デフォルト」になります。

{slug} が空、デフォルト、またはその他の場合をルート定義で処理するように設定したので、問題なくセットアップできました。

では、要求されたスラッグ (ページなど) が存在しない場合はどうすればよいでしょうか?

たとえば、誰かが /Page/xyz を要求しましたが、XYZ はデータストアに存在しません。

1) 404 を発行する必要があります (発行する場合、どのようにしますか? 私のオプション: a) デフォルトの 404 ページにリダイレクトします。b) 404 応答がなく、分かりやすいエラー メッセージが表示されるだけですか?)

2) デフォルトに自動的にリダイレクトする必要がありますか? その場合、302、301 などを発行する必要がありますか?

私はこれが議論の余地があることを理解していますが、何が最善の方法であるかについての意見を求めています. また、ASP.NET MVC コントローラー アクションでどのように実装するかについて、数行のコードを提供してください。

4

2 に答える 2

1

このトピックを参照してください。ケースに必要なすべての情報が含まれています

于 2010-02-10T16:40:57.477 に答える
1

@zihotki は、送信する応答コードの種類を理解するための優れたページをリンクしています。それらを ASP.NET MVC で送信するには、エラー処理コードでエラー コントローラーをインスタンス化し、そこからの応答でHttpResponse.StatusCode適切に設定する必要があります。

于 2010-02-10T16:45:16.643 に答える