2017-07-27 2 views
0

J'ai l'adresse suivanteURL Redirect web.config

https://www.abcsite.com/?data=w35VTqIaVXWfi4GmESj8EGCG1cdF2aT%2BUF3D?utm_source=external%20system&utm_campaign=external%20system&utm_medium=EX.com&utm_content=MMB

qui a plus? à la fin. que je voudrais enlever et remplacer par "&"

J'utilise la règle suivante, mais cela ne fonctionne pas. Pouvez-vous revoir cela et dites-moi ce que je fais mal.

<rewrite> 
    <rules> 
    <rule name="fixdata" stopProcessing="true"> 
     <match url="\?(.*)\?(.*)$" ignoreCase="false" /> 
     <action type="Redirect" redirectType="Permanent" url="http://www.example.com/{R:1}&{R:2}" /> 
    </rule> 
    </rules> 
</rewrite> 

Merci.

Répondre

1

règle Vous devriez être comme ceci:

<rule name="fixdata" stopProcessing="true"> 
    <match url=".*" /> 
    <conditions> 
     <add input="{QUERY_STRING}" pattern="(.*)\?utm_source(.*)$" /> 
    </conditions> 
    <action type="Redirect" url="{R:0}?{C:1}&amp;utm_source{C:2}" appendQueryString="False" /> 
</rule> 

Votre règle ne fonctionnait pas, car <match url= contient chemin sans chaîne de requête. Vous devez créer une condition supplémentaire pour correspondre à la chaîne de requête avec votre motif regexp

+0

Merci pour cela. ça fonctionne. le seul problème auquel je suis confronté est-il également remplacer? dans la valeur de la variable de données. Je veux juste le remplacer? avant utm_source. J'espère que ça a du sens. Si vous avez besoin de plus de précisions s'il vous plaît faites le moi savoir et je vais écrire un peu mieux. –

+0

Pouvez-vous fournir un exemple de résultat URL –

+0

voici l'URL de saisie "http: // exemple /? Data = a6fhD87ktNK7PxlGtDW1ge5BgE% 0AK8hXp? Ge%? Utm_source = XX% 20AXX & utm_campaign = XX% 20XX & utm_medium = XX.com & utm_content = MMB" et voici sortie "http: // exemple /? data = a6fhD87ktNK7PxlGtDW1ge5BgE% 0AK8hXp && ge% & utm_source = XX% 20AXX & utm_campaign = XX% 20XX & utm_medium = XX.com & utm_content = MMB" vous allez en entrée j'ai ajouté extra ?? marques à la fin de data = value. ils ont été convertis en &&. J'espère que ça aide. –