Asp.net

Asp.net MVC SEO 友好 URL

  • August 3, 2021

我想為我的 ASP.NET MVC 網站實現一個 SEO 友好的 URL。

目前我有一個像這樣的網址:

http://www.domain.com/product?id=productid

但現在我想重寫我的網址,如:

http://www.domain.com/productname

所以請任何人都可以在上面幫助我……

請嘗試以下解決方案。在global.asax.cs

routes.MapRoute(
   "Product",
   "{productName}",
   new { controller = "Product", action = "Index" },
   new { productName = UrlParameter.Optional  }
);

但是您需要在產品控制器的索引操作中保持唯一性productName獲取記錄(即在產品控制器中:

public ActionResult index(string productName)
{
    //do something regarding get product by productname
}

您可以通過這種方式將 Route 添加到您的 MVC 路由引擎 -

Global.asax.cs

routes.MapRoute(
   "Product",
   "{controller}/{productId}/{productName}",
   new { controller = "Product", action = "Index" },
   new { productId = UrlParameter.Optional , productName = UrlParameter.Optional  }
);

這將允許您擁有類似的 URL

www.domain.com/productid/productname

您可能無法實現的原因

www.domain.com/productname

是 productname 不是標識符,不能用於唯一地查找記錄。您需要在 url 中添加一個標識符。

例如 - 在 SO 中查看此問題的 URL,它具有 ID,然後附加 SEO 友好測試。

引用自:https://stackoverflow.com/questions/15128789