2009-11-20 11 views
0

J'ai un site qui est en train d'être converti à partir de webforms asp classique à asp.net. L'ancienne version du site Web est conservée pour séparer les versions du site, une pour les États-Unis et une pour le Canada.Serait-il possible d'utiliser le routage URL dans le but suivant?

La version américaine est assis à la racine du domaine et la version canadienne assis dans un dossier nommé « Canada ».

La nouvelle version asp.net de l'application, il a été décidé qu'il n'était pas nécessaire de maintenir deux versions différentes du site et il a été fusionné en un seul site. Je me demandais cependant si je pouvais tirer parti du routage d'URL pour retourner quelqu'un qui tente d'accéder au site via un sous-dossier canadien, il utilise simplement le site normal, juste que sa culture soit réglée sur "en-CA".

En d'autres termes, l'ancien site a été structuré comme:

http://www.domain.com/ <-- US site 
http://www.domain.com/canada <-- Canadian site 

Le nouveau site sera juste au domaine racine et la culture de la session sera fixée.

http://www.domain.com/ [Session("Culture") = "en-US"] <-- US site 
http://www.domain.com/ [Session("Culture") = "en-CA"] <-- Canadian site 

Je voudrais si quelqu'un accède au site via le sous-dossier du Canada, je voudrais maintenir ce sous-dossier du Canada dans l'URL, mais pas ont en fait une copie physique du site à ce dossier.

Répondre

0

Vous n'avez pas besoin de routage URL. Il suffit d'y ajouter un document par défaut (index.aspx ou default.asxp, peu importe ce que vous avez défini) et de rediriger cette page vers http://www.domain.com/ après avoir défini la culture. [Edit] Ah ... peut-être que j'ai mal compris. Vous voulez que l'utilisateur ait "canada" dans l'URL de chaque page à laquelle il accède? Dans ce cas, j'utiliserais probablement un HttpModule ... oui, le routage d'URL.