2013-05-02 6 views
2
url de mauvais

Imaginez le scénario, j'ai:La meilleure façon de rediriger

wellspell.com 

ainsi

wellspeel.com 
weelspell.com 
weelspeel.com 

et je veux que mon application MVC seulement travailler avec le nom de domaine correct.

Mon problème actuel réside sur le manque de soutien sur CNAME sous le panneau de commande DNS actuel que je peux facilement ajouter *.wellspeel.com et www.wellspeel.com mais jamais wellspeel.com (seulement comme ANAME).

Quelle est la configuration la plus simple pour que je puisse rediriger http://wellspeel.com vers http://wellspell.com?

Ce que j'ai maintenant est dans mon premier contrôleur, un simple contrôle à l'aide requestContext.HttpContext.Request.Url.Host puis filtré et rediriger l'utilisateur avec

requestContext.HttpContext.Response.RedirectPermanent("http://wellspell.com"); 

Mais ceci est déjà à l'intérieur du contrôleur d'initialisation ... puis-je faire la redirection avant d'atteindre le contrôleur?

que je cherchais à la documentation concernant UrlRoutingModule mais après quelques tentatives, je suis perdu ...

Quelqu'un peut-il me montrer la bonne direction, ou que quelqu'un a le problème et comment avez-vous les gars l'a résolu?


P.S. Je pensais aussi que je pourrais créer un simple gestionnaire dans un nouveau site Web et que les liens de sites Web ajoutent tous les mauvais domaines et redirigent à partir de là, en utilisant peut-être une simple configuration XML pour faciliter la mise à jour ...

Répondre

1

Si Si vous exécutez IIS 7 ou une version ultérieure, vous pouvez simplement vous assurer du code HTTP Redirect et ne pas avoir à afficher de code.

Modifier: Pour une raison quelconque, je supposais que vous étiez debout sur les sites IIS pour chaque domaine possible. Si vous configurez simplement un site IIS et incluez plusieurs liaisons pour chaque domaine possible, vous pouvez envisager d'utiliser les règles IIS URL Rewrite (cela vous permet quand même de ne pas avoir à configurer de code car les règles seront exécutées avant le MVC pipeline).

Plus précisément, je pense que vous seriez intéressé par l'entrée d'état HTTP_HOST.

Voici un (non testé) par exemple:

<system.webServer> 
    <rewrite> 
     <rules> 
      <rule name="SpellingErrorOne" stopProcessing="true"> 
       <match url="(.*)" /> 
       <conditions> 
        <add input="{HTTP_HOST}" pattern="^weelspeel.com" /> 
       </conditions> 
       <action type="Redirect" url="http://wellspell.com" /> 
      </rule> 
     </rules> 
    </rewrite> 
</system.webServer> 

Vous juste besoin d'ajouter une règle pour chaque domaine que vous souhaitez gérer. Le <condition> agit en tant que critère qui doit être validé pour que l'action (par exemple la redirection) soit exécutée.

Questions connexes