9


5

ASP.NET MVCルーティング/ SEOフレンドリーURL

私はstackoverflowのようなことをしようとしています

たとえば、stackoverflowからリンクを取得します。

最後の部分(https://stackoverflow.com/questions/9033[C#の非表示機能])を削除しても、同じ結果が返されます。

Global.asaxでのルーティングでは、「\ {action} / \ {id} / \ {title}」のようなことをしようとしました

私のページでは、これは私のリンクです:

<%= Html.ActionLink(video.Title, "Details", "Videos", new {id = video.ID, title = video.Title.Replace(" ", "-")}, null) %>

これは、IDの後に「*?title = blah-blah-blah *」をスローすることを除いて、ほとんどの部分でやりたいことを行います

「* id / blah-blah-blah *」と言ってほしい

私の問題は何ですか? (noobであることに加えて)

2 Answer


9


私はしばらく前にこれに関するブログ投稿を書いて、それが役に立つかもしれないと思いました:

基本的には、アクションの実行時にアクションをチェックインして正しいSEOフレンドリなタイトルが存在するかどうかを確認し、見つからない場合はブラウザにリダイレクトして正しいSEOフレンドリなURLを発行する必要があります。


5


このルートは、ActionLinkの呼び出しで機能するように見えるので、これはちょっとした推測です。 デフォルトルートの後に「\ {action} / \ {id} / \ {title}」ルートを登録していますか? その場合、デフォルトルートが最初に一致し、パスに表示されないため、クエリ文字列にタイトル値を入れます。 \ {controller} / \ {action} / \ {id}のデフォルトの前にカスタムルートを登録すると、動作するはずです。