none
ASP.NET MVC SEO URL HATASI RRS feed

  • 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);

    1 Aralık 2022 Perşembe 09:40

Tüm Yanıtlar

  • Merhaba,

    Alınan hatayı da ekleseniz daha sağlıklı geri dönüşler alabilirsiniz.

    1 Aralık 2022 Perşembe 10:27
    Moderatör
  • Açıklama: HTTP 404. Aradığınız kaynak (veya bağımlı olduklarından biri) kaldırılmış, adı değiştirilmiş veya geçici olarak kullanılamaz durumda olabilir. Lütfen aşağıdaki URL'yi gözden geçirin ve doğru yazıldığından emin olun.

    böyle bir hata alıyorum direk

    1 Aralık 2022 Perşembe 13:39
  • 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

    1 Aralık 2022 Perşembe 13:50
    Moderatör
  • yok yapmak istediğim mesela hakkımızda sayfasının controller ve actionu sayfa - sayfa detay ama blog controlleriyle actionu blog - blogdetay
    1 Aralık 2022 Perşembe 14:00
  • hepsini tek routeden döndürmeye çalışıyorum
    1 Aralık 2022 Perşembe 14:00
  • MVC her bir url için ayrı bir rota şablonu oluşturulacak şekilde tasarlanmış, bunun dışına çıkarsanız nelerle karşılaşacağınızı bilemezsiniz.

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    1 Aralık 2022 Perşembe 15:37
    Moderatör
  • yok böyle bir sistem var ama çözemedim tam olarak
    2 Aralık 2022 Cuma 09:32
  • yok böyle bir sistem var ama çözemedim tam olarak
    "benim yaptığım tüm yönleri ile doğru, herşeyi biliyorum ama hatasını siz düzeltin" mi demek istiyor sunuz?

    e-mail: onay[nokta]yalciner[at]hotmail[nokta]com

    4 Aralık 2022 Pazar 08:10
    Moderatör
  • sorunu çöztüm teşekkür ederim

      requestContext de hata yapıyormusum

    5 Aralık 2022 Pazartesi 12:03