2009-08-19 7 views
0

Salut à tous, j'ai une question à propos de IIS7 réécriture.II7 Réécrire les questions - à l'exclusion des pages

Je me demande s'il existe un moyen de définir les conditions pour réécrire les URL. Je vouloir réécrire:

http://www.domain.com/user.aspx?id=username

pour devenir

http://www.domain.com/username/

J'ai aussi

http://www.domain.com/article.aspx http://www.domain.com/login.aspx

et je veux que ceux pour devenir

http://www.domain.com/article/ http://www.domain.com/login/

La question que je vais avoir est que si je mets les réécritures pour nom d'utilisateur les réécritures pour l'article et la rupture de connexion.

Je dois en quelque sorte exclure ceux de la réécriture du nom d'utilisateur de sorte qu'ils peuvent être gérés par leurs propres moyens.

Voici mon code actuel, im réécriture les noms d'utilisateur à/user/nom d'utilisateur au instant:

<rewrite> 
    <rules> 
    <rule name="Rewrite user accounts2"> 
     <match url="user/([_0-9a-z-]+)"/> 
     <action type="Rewrite" url="user.aspx?id={R:1}"/> 
    </rule> 
    <rule name="Rewrite user accounts"> 
     <match url="user/([_0-9a-z-]+)/"/> 
     <action type="Rewrite" url="user.aspx?id={R:1}"/> 
    </rule> 
    </rules> 
</rewrite> 

Répondre

0

Si vous ajoutez la règle article/login en haut et ajouter stopProcessing = » vrai "à lui alors vous n'avez pas à utiliser des conditions.

<rewrite> 
    <rules> 
    <rule name="Login" stopProcessing="true"> 
     <match url="login/?"/> 
     <action type="Rewrite" url="login.aspx"/> 
    </rule> 
    <rule name="Article" stopProcessing="true"> 
     <match url="article/?"/> 
     <action type="Rewrite" url="article.aspx"/> 
    </rule> 
    <rule name="Rewrite user accounts2" stopProcessing="true"> 
     <match url="user/([_0-9a-z-]+)/?"/> 
     <action type="Rewrite" url="user.aspx?id={R:1}"/> 
    </rule> 
    </rules> 
</rewrite> 

PS. le point d'interrogation rend le caractère précédent facultatif.

+0

Merci beaucoup Fabian, juste une partie de plus à la question. Dites que je veux enlever/user/et juste créer le compte domain.com/username/ comment l'arrêter en conflit avec les réécritures de connexion/article? Matt – bExplosion

+0

Vous êtes les bienvenus :). Vous pouvez simplement supprimer l'utilisateur/de l'URL de match dans l'exemple que j'ai écrit. Donc, quand ce n'est pas le login ou l'article, il va vérifier "([_0-9a-z -] +) /?" et réécrivez en conséquence. – Fabian