J'essaie de m'assurer que toutes les URL utilisées pour accéder à mon site ASP.NET MVC sont en minuscules. Dans le cas où une lettre majuscule est dans l'URL, je change le code d'état 301 et changer l'emplacement de la version minuscule de l'URL avec ce code:Comment puis-je m'assurer des URL minuscules sur le POST?
protected void Application_BeginRequest(object sender, EventArgs e)
{
var url = Request.Url.ToString();
if (Regex.IsMatch(url, @"[A-Z]"))
{
Response.Clear();
Response.Status = "301 Moved Permanently";
Response.StatusCode = (int)HttpStatusCode.MovedPermanently;
Response.AddHeader("Location", url.ToLower());
Response.End();
}
}
Cependant, récemment co worker essayait de POSTER un formulaire à une URL avec une lettre majuscule (en oubliant la redirection), mais l'action (marquée avec un attribut HttpPost) n'était pas touchée. En regardant les demandes dans Firebug a montré le POST original, mais alors il a retourné 301 et a émis un GET à la version minuscule.
Je suppose que la meilleure solution est de simplement vous assurer que tous les messages sont à la version minuscule de l'URL, mais je suis venu ici pour voir s'il y a une autre façon de traiter cette question
urls majuscules et minuscules sont considérés comme différents urls par les moteurs de recherche – hunter
Qu'est-ce que chasseur. Ceci est uniquement à des fins SEO http://www.searchenginejournal.com/url-capitalization-and-seo/12667/ – scottm
S'il vous plaît gardez à l'esprit que les moteurs de recherche ne suivent pas POST, mais seulement obtenir des verbes. –