Действительно ли этот код метода действия C# запускает 301 перенаправление?
Вот код, который я использую, когда кто-то посещает страницу продукта на моем веб-сайте электронной коммерции.
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});
Я действительно запускаю 301 перенаправление правильно?
Конечно, он работает так, как я хочу, но я хочу убедиться, что возвращаю правильный стандартный результат HTTP, чтобы поисковые системы правильно реагировали на него.