diff --git a/ecrire/inc/filtres_ecrire.php b/ecrire/inc/filtres_ecrire.php
index 5e111aba53f21f1e3249358acb7ce9f59dd6d827..34207ab90c104eb7f14f25146a689caeb1643181 100644
--- a/ecrire/inc/filtres_ecrire.php
+++ b/ecrire/inc/filtres_ecrire.php
@@ -422,7 +422,20 @@ function lien_article_virtuel($virtuel) {
 		return '';
 	}
 
-	return propre('[->' . $virtuel . ']');
+	$joli = $virtuel;
+	$parts = parse_url($virtuel);
+	if (!empty($parts['query']) and str_contains($parts['query'], ']')) {
+		$query = str_replace(['[', ']'], [urlencode('['), urlencode(']')], $parts['query']);
+		$virtuel = str_replace("?" . $parts['query'], "?$query", $virtuel);
+	}
+	if ($virtuel !== $joli) {
+		$joli = propre('[' . $joli . ' -> ' . $virtuel . ']');
+	}
+	else {
+		$joli = propre('[->' . $virtuel . ']');
+	}
+
+	return $joli;
 }
 
 
diff --git a/prive/formulaires/rediriger_article.php b/prive/formulaires/rediriger_article.php
index dfd94ec9aaa5ef4ab0f9fd56aeb8043977c5a821..12460893c73219ebfffead9dc49a46e1989841fe 100644
--- a/prive/formulaires/rediriger_article.php
+++ b/prive/formulaires/rediriger_article.php
@@ -36,10 +36,12 @@ function formulaires_rediriger_article_charger_dist($id_article, $retour = '') {
 
 
 	include_spip('inc/texte');
+	include_spip('inc/filtres_ecrire');
+	
 	$valeurs = [
 		'redirection' => $redirection,
 		'id' => $id_article,
-		'_afficher_url' => ($redirection ? propre("[->$redirection]") : ''),
+		'_afficher_url' => ($redirection ? lien_article_virtuel($redirection) : ''),
 	];
 
 	return $valeurs;