2

私がやろうとしているのは、URL を書き直して SEO フレンドリーにすることですが、パラメーターを int ID として渡したいと思っています。

たとえば、ニュース記事を指す URL は、「www.domain.com/category-id/article-id」または「domain.com/5/3」のようになります。

やりたいことはどこでもURLを書き換えてカテゴリのタイトルと記事のタイトルをURLに書き込んでfx「domain.com/politics/some-title」になるようにしたいけどそれでもパスしたいコントローラ アクションへの引数としての記事の ID。これはカテゴリにとってそれほど重要ではありませんが、一意であるがタイトルはそうではない可能性があるため、記事 ID でやりたいことです。

属性ルーティングをチェックアウトし、いくつかのルーティング ガイドと質問に目を通しましたが、この機能を実装できるものは見つかりませんでした。ASP.NET MVC を使い始めたばかりなので、高度すぎるものを調べることができませんでした。

前もって感謝します。

4

2 に答える 2

0

手っ取り早いソリューション:

1) domain.com/categoryName/articleID/articleName/ 2) domain.com/date/categoryName/articleName (日付は articleName を一意にするのに役立ちます) 3) domain.com/categoryName/articleName?id=xxx

派手なことは何もありませんが、これらのアプローチは機能します。

于 2012-09-29T04:21:49.097 に答える
0

記事のタイトルを一意にすることをお勧めします。コントローラー アクションからは、タイトルに基づいて記事を取得する必要があります。

カテゴリに基づいて記事をグループ化しようとしているようです。最初にブログを作成したときも同じことを考えていましたが、いくつかの理由から柔軟なアプローチではないことにすぐに気付きました。

  1. たとえば、ある記事を名前付きで書きsome-title、それをカテゴリの下にドロップするとpolitics、URL は次のようになりますdomain.com/politics/some-titleが、後で記事を別のカテゴリ (「国際政治」など) に移動することを考えた場合、URL を変更する必要があります。に移動しdomain.com/international-politics/some-titleて古い URL を壊すと、そのリンクをブックマークした人は誰でも 404 を受け取るようになります。より良い方法は、投稿された日付に基づいて URL を整理することで、次のような変更はありません。http://domain.com/archive/yyyy/mm/dd/unique_title

  2. 記事に複数のカテゴリのラベルを付けたい場合があります。その場合、カテゴリ ベースのアプローチよりもタグ ベースのアプローチの方が適しています。

于 2012-09-29T13:18:44.437 に答える