Soran
ASP.NET MVC SEO URL HATASI

Genel Tartışma
-
merhaba seo url yaparken hata alıyorum yardım edebilirmisiniz
route url :
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Default",
url: "{culture}/{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional , culture = "tr-TR" },
namespaces: new[] { "Mvc.Controllers" }
);
routes.MapRoute(
name: "SeoFrendyUrl",
url: "{culture}/{SeoLink}",
defaults: new { controller = "Home", action = "Index", SeoLink = UrlParameter.Optional, culture = "tr-TR" },
namespaces: new[] { "Mvc.Controllers" }
);base controller
string SeoLink = requestContext.RouteData.Values["SeoLink"] + "";
string ControllerName = requestContext.RouteData.Values["controller"] + "";
string ActionName = requestContext.RouteData.Values["action"] + "";
if (!string.IsNullOrEmpty(SeoLink) && ControllerName == "Home" && ActionName == "Index")
{
var GetSayfa = db.Sayfa.FirstOrDefault(x => x.URL == SeoLink);
if (GetSayfa != null)
{
requestContext.RouteData.Values["controller"] = "Sayfa";
requestContext.RouteData.Values["action"] = "SayfaDetay";
if (!string.IsNullOrEmpty(GetSayfa.ControllerName))
requestContext.RouteData.Values["controller"] = GetSayfa.ControllerName;
if (!string.IsNullOrEmpty(GetSayfa.ActionName))
requestContext.RouteData.Values["action"] = GetSayfa.ActionName;
}
}
return base.BeginExecute(requestContext, callback, state);
Tüm Yanıtlar
-
-
-
neden böyle birşey yaptınız ki, routing seo linkinizi oluşturma için yeterlidir böylece base controller deki yazdığınız şey de lazım olmaz.
tek dikkat etmeniz gereken Default şablondan önce tanımlamanız ya da Default şablonu kaldırmanız.örnek;
routes.MapRoute( name: "SeoFrendyUrl", url: "{culture}/detay-{name}-{id}.html", defaults: new { controller = "Home", action = "ProductDetail", culture = "tr-TR", }, namespaces: new[] { "Mvc.Controllers" } );
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
-
-
-
-
-
-