Redirection 301 dans asp.net 4.0
Je suis en train de mettre en œuvre des URL de redirection pour le site plutôt que de le faire page par page. Je veux faire mondial.asax fichier. Ci-dessous le code que j'ai défini.
Je veux avoir http://website.net que mon principal url & voulez avoir une URL permanente de redirection si quelqu'un tape dans http://www.website.net.
Malheureusement, il ne fonctionne pas pour le site. Quelqu'un peut-il signaler le problème dans le code. Le code ne génère pas d'erreur.
void Application_Start(object sender, EventArgs e)
{
//Code that runs on application startup
if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://website.net"))
{
HttpContext.Current.Response.Status = "301 Moved Permanently";
HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://website.net", "http://www.website.net"));
}
}
OriginalL'auteur Learning | 2012-05-20
Vous devez vous connecter pour publier un commentaire.
Principal problème: vous êtes en train de faire les trucs ci-dessus dans
Application_Start
- qui n'est exécuté qu'une fois. Vous devez vous connecter avec chaque demande. Essayez ceci:Une meilleure approche serait d'utiliser la réécriture d'URL, qui peut être configuré à partir de l'intérieur de
Web.Config
:Microsoft module de réécriture de Force de www dans l'url Ou supprimer www à partir de l'url
Oups Mon erreur. Devrait avoir remarqué... j'ai l'intention de mettre en œuvre le routage d'url plutôt que de réécrire et j'ai eu des problème avec la réécriture en raison de la structure et non. de la chaîne de la requête dans certaines pages. Remercie de votre réponse. Merci
OriginalL'auteur MartinHN
Si vous utilisez IIS 7 ou supérieur, la solution la plus simple est d'utiliser le httpRedirect élément de votre site web.config.
Cette méthode est très puissante, par exemple, si vous avez changé de domaine, mais les pages sont les mêmes, vous avez juste à ajouter:
J'ai écrit un petit article ici: ASP.NET 301 redirections permanentes: la meilleure solution
OriginalL'auteur Igor
La Version 4 de .NET a effectivement une amélioration de la fonction de la page unique de mise en œuvre - la redirectpermanent.
Response.RedirectPermanent(NEW_URL);
OriginalL'auteur JNF
En se fondant sur des correct et des réponses utiles, voici quelques exemples précis. En supposant que vous souhaitez supprimer l'ancienne page (comme moi), il ya un couple d'options.
OPTION 1: Modifier le Global.asax
OPTION 2: Modifier le site web.config
OriginalL'auteur wloescher
si vous ne savez pas ce est une application du nom de domaine ,utilisez quelque chose comme ce
OriginalL'auteur mohammadali ghanbari