2012-04-12 6 views
0

Utilisation du module de réécriture d'URL, j'ai une configuration de règle qui est définie comme:IIS URL Rewriting

Matches the pattern 
Regular Expressions 
Pattern: /support/viewmessages.aspx 
Ignore Case: true 
Action Type: Redirect 

Redirect URL: http://newdomain/support/viewmessages.aspx 
Append Query String: true 
Redirect Type: 301 

Cela me semble qu'il devrait rediriger l'une des URL formated comme:
http://olddomain/support/viewmessages.aspx?forum=20&topic=75942&ForumName=General%20Discussion
Être:
http://newdomain/support/viewmessages.aspx?forum=20&topic=75942&ForumName=General%20Discussion

Cependant, rien ne semble se produire. Je reçois mon 404 sur l'ancien domaine, et il ne va pas au 404 avec la chaîne de requête ajoutée.

Voici le code IIS généré dans mon web.config:

<rule name="Forum Posts" patternSyntax="ECMAScript" stopProcessing="true"> 
    <match url="/support/viewmessages.aspx" /> 
    <action type="Redirect" url="http://newdomain/support/viewmessages.aspx" appendQueryString="true" /> 
</rule> 

Toute aide serait appréciée.

+0

Cela me semble être plus le long d'une question serverfault. Où est la "programmation"? –

Répondre

1

Tentative 1: Avez-vous essayé le modèle sans la barre oblique? L'autre pensée que je voudrais avoir est de savoir s'il y a quelque chose de spécial à faire à propos du slash et du point car ils peuvent être vus comme des caractères spéciaux dans les expressions régulières.


point 2: Vous ne reconnaissez que le point est un caractère spécial dans regular expressions, droit? Vous devrez peut-être trouver un moyen d'y échapper afin que l'URL aime "/support/viewmatches\.aspx"

+0

Juste essayé sans la barre oblique avant, pas de dés. –

+0

"/support/viewmatches\.aspx" ne fonctionnait pas, mais "support/viewmatches \ .aspx" - il semble que vous aviez raison sur les deux fronts! –