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.
RedirectToActionPermanent
ederkenRedirectToAction
döndüren inanıyoruz. Ağa gidin ve HTTP İsteklerini görün. – epignosisx