2012-10-18 3 views
3

J'essaie de comprendre comment activer les URL courtes pour les images sur le site Web en utilisant Application_BeginRequest.Url Réécriture pour les images

Actuellement, pour ouvrir une image que je dois utiliser l'URL complète comme ceci:

http://mywebsite.com/ViewImage.aspx?album=123&id=456 

Je veux que les images soient accessibles à l'aide de courtes URL:

http://mywebsite.com/123/456 

ViewImage.aspx récupère des images dynamiquement de la base de données.

En supposant que je devrais utiliser la méthode RewritePath. Mais comment exactement?

Répondre

1

Vous pouvez accomplir ceci avec la réécriture d'URL http://www.iis.net/downloads/microsoft/url-rewrite Vous créez des règles dans le fichier web.config pour mapper les URL aux fichiers.

Nous utilisons cette règle d'image par exemple, pour mapper l'URL de la version à des images réelles. Vous pouvez créer quelque chose de simulair pour vos urls. Dans IIS, vous pouvez vous tester des règles lorsque vous installez le module

<rule name="rewriteImgRule" stopProcessing="true"> 
     <match url="^v[0-9\.]+/img/(.*)$" /> 
     <action type="Rewrite" url="/img/{R:1}" /> 
    </rule> 
+1

Je pense que votre règle est un peu bancale - il n'y a pas '/ img 'dans le chemin et l'URL réécrite a besoin de 2 parties séparées. Quelque chose comme 'ViewImage.aspx? Album = {R: 1} & id = {R: 2}'? – Basic

+0

la règle est un exemple de la façon dont fonctionne la réécriture d'url, pas la réécriture de la solution pour l'url fournie (parce que je ne peux pas la tester). Désolé aurait dû mentionner que – Ivo

+0

Il n'est pas disponible hors de la boîte, non? Puis-je l'utiliser sur un hébergement partagé? – SharpAffair

1

@ réponse de Ivo pourrait bien être la plus simple mais je préfère personnellement pour éviter d'installer des modules supplémentaires.

Si vous utilisez IIS7 (Windows 7/Server 2008 ou version ultérieure), vous pouvez utiliser des gestionnaires de requêtes (.ashx fichiers) carte puis différents pour les urls ...

Voir http://www.dotnetperls.com/ashx pour un tutoriel sur la configuration d'un haut .

Une fois que vous avez un travail, vous pouvez examiner l'objet Request pour déterminer quel URL a été utilisé exactement et extraire les paramètres comme bon vous semble