2010-08-19 8 views
0

je travaille sur une application des locataires multiples, donc j'ai beaucoup de sous-domaines dynamiques:ASP.NET MVC: Affichage des images des sous-domaines

user1.example.com user2.example.com

Cela fonctionne très bien, mais il y a un problème cependant. Les images ne sont pas affichées.

<img src="/images/logo.png" /> 

affiche sur example.com, mais il ne fonctionnera pas sur user1.example.com

Je peux bien sûr utiliser la solution suivante:

<img src="http://example.com/images/logo.png" /> 

Mais je veux avoir quelque chose de plus élégant si c'est possible.

+0

Le premier exemple que vous donnez utilise une URL relative; le domaine à partir duquel il est utilisé ne devrait faire aucune différence, car aucun domaine n'est spécifié. Chaque sous-domaine est-il mappé à une racine de site différente? –

+0

@Mark B, c'est difficile à dire ... Oui, il n'y a qu'un seul site IIS, et tous les sous-domaines pointent vers le même répertoire IP/site. Mais j'utilise URL Rewrite pour réécrire user1.example.com à example.com/user1 – Alex

+0

Ah, je vois - vous devriez probablement l'indiquer dans la question alors! –

Répondre

3

Si les images sont communes, pourquoi ne les hébergez-vous pas sur un sous-domaine sperate tel que static.example.com? Cela aidera également les performances car les images seront mises en cache si les utilisateurs utilisent des applications sur plusieurs sous-domaines. La mise en place d'autres contenus statiques, tels que les fichiers javascript courants, facilitera également les performances.

Vous pouvez également créer un assistant HTML personnalisé pour générer l'URL statique de l'image.

+0

Ouais je suis tombé sur ça beaucoup. Si je ne me trompe pas, PayPal par exemple héberge des images sur images.paypal.com. Mais cela signifie que je devrais mettre ce "http: //images.example" supplémentaire au lieu de simplement "/ images" ... Eh bien, je peux simplement utiliser Rechercher -> Remplacer :) – Alex

+2

Pourquoi ne pas faire une aide HTML plutôt que de mettre dans le lien réel? Cela facilitera l'échange à l'avenir. – starskythehutch

+0

C'est une bonne suggestion. Merci. – Alex

0

Avez-vous essayé d'utiliser quelque chose comme: <img src="<%=Url.Content("~/")%>images/logo.png" />

Questions connexes