はこちらをご覧:http://www.dominicpettifer.co.uk/Blog/34/asp-net-mvc-and-clean-seo-friendly-urls
それを行うにはどのように非常に長い説明があります。最後の部分では301-redirectについて説明します。このリダイレクトを使用すると、検索エンジンのクローラに、目的のURLの下にページが見つかるよう指示する必要があります。
URLエンコーディングを忘れずに、いくつかの作業を保存し、より高品質のURLを提供する必要があります。
routes.MapRoute(
"ViewProduct",
"products/{id}/{productName}",
new { controller = "Product", action = "Detail", id = "", productName = "" }
);
があなたのコントローラに名前の部分を追加し、それが正しい名前であることを確認します:
があなたのルーティングを設定します。ここでは
は、ブログの記事からいくつかの重要な抜粋です
public ActionResult Detail(int id, string productName)
{
Product product = IProductRepository.Fetch(id);
string realTitle = product.Title; // Add encoding here
if (realTitle != urlTitle)
{
Response.Status = "301 Moved Permanently";
Response.StatusCode = 301;
Response.AddHeader("Location", "/Products/" + product.Id + "/" + realTitle); // Or use the UrlHelper here
Response.End();
}
return View(product);
}
更新
URLは明らかに壊れています。この記事ではほとんど同じ機能を説明しています:http://www.deliveron.com/blog/post/SEO-Friendly-Routes-with-ASPnet-MVC.aspx
コメント/新しいリンクのためにStu1986Cに感謝します!
ありがとうございました。ところで、リンクされたコンテンツの重要な部分をあなたの投稿にコピーするのは常に良い習慣です。そのため、明日のリンクが死んでも、ユーザーはあなたの答えに恩恵を与えることができます。また、それはよりアクセスしやすく、答えは人々に見えやすくなります。 – Shimmy
リンクが無効です。ここに新しいものがあります:http://www.deliveron.com/blog/post/SEO-Friendly-Routes-with-ASPnet-MVC.aspx – Stu1986C
答えに新しいリンクが追加されました。ありがとう! –