5

Birisi, e-ticaret web sitemde bir ürün sayfasını ziyaret ettiğinde kullandığım kod. Bu bit olarakBu C# eylem yöntemi kodu aslında 301 yönlendirmesini mi yapıyor?

public ActionResult Details(int id, string slug) 
{ 
    using (var productRepository = new EfProductRepository()) 
    { 
     var product = productRepository.FindById(id); 
     if (product == null) return RedirectToAction("Index", "Home"); 
     if (product.SeoTextSlug != slug) 
      return RedirectToAction("Details", new {id = product.ProductId, slug = product.SeoTextSlug}); 

     var model = new ProductDetailModel(); 

     //Load the product information. 
     model.Product.ProductId = product.ProductId; 
     model.Product.CoverImagePath = product.CoverImagePath; 
     model.Product.Name = product.Name; 
     model.Product.Tagline = product.Tagline; 
     model.Product.Price = product.Price; 
     model.Product.Stock = product.Stock; 
     model.Product.PieceCount = (int)product.PieceCount; 
     model.Product.SKU = product.SKU; 

     //Load the reviews for that product. 
     if (product.Reviews.Any()) 
     { 
      foreach (var review in product.Reviews) 
      { 
       model.Reviews.Add(new ReviewModel() 
       { 
        ReviewId = review.ReviewId, 
        AccountId = (int)review.AccountId, 
        Content = review.Content, 
        Location = review.Location, 
        ProductId = (int)review.ProductId, 
        PublishDate = review.PublishDate, 
        ReviewRatingId = (int)review.ReviewRatingId 
       }); 
      } 
     } 

     return View(model); 
    } 
} 

:

if (product.SeoTextSlug != slug) 
    return RedirectToAction("Details", new {id = product.ProductId, slug = product.SeoTextSlug}); 

Aslında doğru bir 301 yönlendirmesi ateş muyum?

Tabii ki istediğim gibi çalışıyor, ancak doğru bir standart HTTP sonucunu döndürdüğümden emin olmak istiyorum, böylece arama motorları buna uygun şekilde yanıt veriyor.

+0

RedirectToActionPermanent ederken RedirectToAction döndüren inanıyoruz. Ağa gidin ve HTTP İsteklerini görün. – epignosisx

cevap

12

Ben Bir tarayıcı Geliştirici araçlarını kullanarak bunu onaylayabilir 302 döner 301.

+0

Sonunda tek yapmam gereken 'RedirectToActionPermanent' yerine bunun yerine doğru mu? –

+0

@Sergio: evet. Tek şart, 302 yerine 301 olmasını istediğinizden emin olmanız. –