RewriteCond %{QUERY_STRING} ^id=(.*)$
RewriteRule ^oldpage\.php$ http://new-site.com/newpage-%1 [R=301,L]
and
RewriteRule ^oldpage\.php$ http://new-site.com/newpage-%1? [R=301,L]
En premier résultat de cas est
new-site.com/newpage-3?id=3
deuxième
new-site.com/newpage-3Question mark à la fin de RewriteRule
Que signifie un point d'interrogation dans la deuxième règle de réécriture?
« Si la chaîne de requête ne contient qu'un identifiant » et sinon, est-ce seulement vrai pour id? – Qiao
Le RewriteCond% {QUERY_STRING}^id = (. *) $ Signifie que la règle s'applique uniquement si la chaîne de requête correspond. Dans ce cas, il va correspondre à toute chaîne de requête commençant par id = –