我想爲我的ASP.NET MVC網站實現一個SEO友好的URL。Asp.net MVC SEO Friendly URL
目前我有一個像網址:
http://www.domain.com/product?id=productid
,但現在我要重寫我的網址,如:
http://www.domain.com/productname
所以請任何人都可以幫助我在上面......
我想爲我的ASP.NET MVC網站實現一個SEO友好的URL。Asp.net MVC SEO Friendly 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
}
您可以用這種方式向您的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
的原因是,產品名稱ISN」 t標識符並且不能用於唯一地查找記錄。你需要一個URL中的標識符。
Ex - 在SO中查看這個問題的URL,它有ID,然後附加SEO友好測試。
http://www.deliveron.com/blog/post/SEO-Friendly-Routes-with-ASPnet-MVC.aspx – 2014-04-06 10:18:34
在Global.asax創建一個新的途徑來處理這個:
routes.MapRoute(
"productId", // Route name
"productId/{id}/{name}", // URL with parameters
new { controller = "Home", action = "productId", id = 1234, name = widget } // Parameter defaults
);
Asp.Net MVC具有路由內置的,所以沒有必要爲URL重寫。
詳情here
這是對於初學者最好的文章 - > SEO Friendly URls
文章還介紹瞭如何刪除的空白字符和破折號。
HTTP://ofps.oreilly。 com/titles/9781449320317/ch_Routing.html – 2013-02-28 06:42:32