2009-07-17 7 views
1

J'ai un répertoire virtuel créé et un sous-domaine qui pointe vers ce répertoire virtuel. Mes liens acheminent toujours vers subdomain.domain.com/subdomain/controller/action lorsqu'ils peuvent quitter le lien de sous-domaine. Y a-t-il un moyen facile d'arrêter cela?Comment conserver les liens subdomain.domain.com du mapping vers subdomain.domain.com/subdomain?

En outre, c'est le même problème lorsque j'ai mappé anotherdomain.com à mon répertoire virtuel. Il finit par se lier à anotherdomain.com/virtualdir/controller/action.

Il me semble tout simplement non professionnel d'avoir tous mes liens myapp.com/myapp/action/controller.

Répondre

2

Je me suis également demandé, mais je ne crois pas que vous pouvez réaliser cela dans le routage prêt à l'emploi qui vient avec ASP.NET MVC.

Heureusement, l'utilisateur a une grande liberté dans le choix de la façon dont il veut gérer ces choses, et une solution que vous pouvez envisager peut être trouvée here. L'équipe ASP.NET MVC semble avoir reconnu que cela devrait être pré-cuit dans MVC par défaut, mais je ne vois rien à faire jusqu'à v2 car cela nécessitera des changements au moteur de routage. En cas d'échec, vous pouvez envisager de réécrire l'URL (cela est évidemment beaucoup plus facile si vous avez IIS7). Here est un post de forum IIS en discuter.

IIS 7 Exemple de réécriture (extrait de here):

<rule name="RewriteSubdomain"> 
    <match url="^(.+)"> 
    <conditions> 
    <add input="{HTTP_HOST}" type="Pattern" pattern="^([^.]+)\.myapp\.com$"> 
    </conditions> 
    <action type="Rewrite" url="{C:1}/{R:1}" /> 
</rule> 
Questions connexes