Comment créer une redirection 301 avec ASP.net ?
Créer une redirection 301 à partir de la configuration serveur est toujours la meilleure solution. Cependant, si vous avez juste besoin de faire une redirection localisé, seulement pour un fichier spécifique de votre serveur, il est plus facile de l'inscrire dans un langage cripté comme Microsoft ASP.net, au lieu de configurer le serveur entier.
Cette page décrit les quelques étapes que vous devrez suivre pour paramétrer les redirections 301 avec le langage cripté ASP.net. Les actions principales se décomposent en deux lignes de codes que vous devez coller en haut de votre fichier à rediriger.
Définir le code 301 et l'adresse ciblée.
Comme le langage ASP.net est un langage coté serveur, il peut facilement déchiffrer les données avant même que le serveur n'ai envoyé une réponse au navigateur internet. En utilisant cette caractéristique et les commandes adéquates, il est par la suite facile d'écrire dynamiquement un nouvel header pour une requête et le définir comme une redirection 301.
Pour arriver à ce résultat, ouvrez en premier le fichier à partir duquel vous voulez configurer la redirection. Ce fichier doit être, bien sur un fichier ASP.net afin de rendre executable le code Active Server Pages sur votre serveur. Ensuite, copiez le code suivant, collez le en premières lignes de votre fichier ASP.net, et remplacez le http://www.nouveau-domaine.com par la véritable destination de votre 301.
<%
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.newlocation.com");
}
%>
Dans le langage ASP.net, Reponse.status est utilisé pour définir l'objet de la réponse du serveur à une requête spécifique et peut donc être utilisé pour définir une redirection 301. De cette manière, le navigateur internet reçoit comme première information la commande de transfert. En obéissant au code de redirection, il ne pendra en considération aucunes autres lignes de la page.
Définir dynamiquement la ciblé des redirection.
Si l'objet de la réponse doit être la première instruction à être envoyé au navigateur internet, il n'est pas nécessaire qu'elle soit exécuter en premier par le serveur. En utilisant les redirections ASP.net, vous être libre d'utiliser n'importe qu'elle commande avant la définition de l'objet de la réponse (ici la redirection) tant que vous n'envoyez par de donnés au navigateur internet.
Vous pouvez facilement imaginer que la cible des adresses redirigées soit définie suivant les caractéristiques de l'adresse de la page originale, les valeurs de la session ou le donnés d'entrées. Classer une nouvelle adresse par une variable ASP.net est alors facile et la réutiliser dans une réponse d'objet ne demande que la modification d'une simple ligne.
Response.AddHeader='Location',NewLocation