Question

Je dois saisir certaines des anciennes URL de mon site et faire une redirection 301 vers les nouveaux, car ils sont déjà indexés et nous ne voulons pas perdre la pertinence après le changement. L'ancienne URL est en fait très laid et, pour une raison tout j'essaie de faire de réécrire cela ne fonctionne pas. Ici, il est:

http://www.mywebsite.com/ExibeCurso.asp?Comando=TreinamentoGeral&codCurso=136&Titulo=Como%20Estruturar%20um%20Sistema%20Gerencial%20de%20Controles%20Organizacionais,13

En fait, je dois le traduire en quelque chose comme:

http://www.mywebsite.com/curso/136

De l'ancienne URL que je dois vérifier si l'utilisateur a tapé « ExibeCurso.asp »; alors je sais que je dois lui envoyer ici: / curso. Il faut aussi saisir le nombre entier qui était dans le paramètre de chaîne de requête « codCurso » (136). Quelle est l'expression régulière, je dois utiliser pour cela. J'utilise ISAPI_Rewrite 3, qui met en œuvre essentiellement htaccess sur IIS, donc il ne devrait y avoir aucune différence en termes de syntaxe. Merci.

Était-ce utile?

La solution

Essayer cette règle:

RewriteCond %{QUERY_STRING} ^([^&]*&)*codCurso=([0-9]+)(&.*)?$
RewriteRule ^/ExibeCurso\.asp$ /curso/%2? [L,R=301]

Mais je ne suis pas sûr que ISAPI Rewrite exige le motif de commencer par une barre oblique.

Autres conseils

Du haut de ma tête, quelque chose comme cela devrait fonctionner:

RewriteRule ^ExibeCurso.asp(.*)$ http://www.mywebsite.com/curso/$1 [L,R=301]

Ce serait au moins envoyer le trafic vers / curso / avec tous les paramètres ci-joints. Peut-être qu'il est préférable de le traiter à partir de là.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top