Comment les redirections de Cloudflare Pages traitent-elles les chaînes de requête ?

L'équipe Citead, mis à jour le

En bref. Cloudflare Pages conserve la chaîne de requête entrante sauf si la destination de la redirection fournit sa propre chaîne de requête.

Définition : Une chaîne de requête (query string) est la partie d’une URL introduite par ?, selon la définition de la RFC 3986. Au 17 octobre 2026, les tests de redirection de Cloudflare Pages établissent que la chaîne de requête entrante est conservée lorsque la destination n’en contient aucune, tandis qu’une chaîne de requête présente dans la destination remplace celle de la requête entrante.

Points clés

Quand la chaîne de requête entrante est-elle conservée ou remplacée ?

Cloudflare présente pages-shared comme du code utilisé par son infrastructure Pages. Son test de conservation de la chaîne de requête fournit les règles suivantes, exprimées ici dans la syntaxe de _redirects :

/ /home 301
/recent /home?sort=updated_at 301

Le test vérifie les résultats ci-dessous. Location est l’en-tête de réponse qui contient la destination de la redirection.

Requête entranteValeur attendue de Location
https://example.com/?sort=price/home?sort=price
https://example.com/recent/home?sort=updated_at
https://example.com/recent?other=query/home?sort=updated_at

La dernière ligne montre le remplacement : other=query disparaît lorsque la destination contient sort=updated_at. Le gestionnaire sélectionne la chaîne de requête de destination lorsqu’elle n’est pas vide et utilise sinon la chaîne entrante ; il ne fusionne pas les ensembles de paramètres.

Que peut contenir la destination ?

Le guide des redirections de Pages définit chaque ligne comme un chemin source, une destination et un code de statut facultatif. La destination peut être un chemin de fichier ou un lien externe et peut contenir des chaînes de requête ainsi que des fragments, les parties d’une URL introduites par #.

Le guide montre également comment insérer dans les paramètres de destination des variables de chemin (placeholders), des valeurs nommées capturées dans le chemin source :

/products/:code/:name /products?code=:code&name=:name

Ici, :code et :name proviennent des segments du chemin. Le guide indique que la correspondance sur les paramètres de requête n’est pas prise en charge. La sélection d’une règle selon la valeur d’un paramètre entrant sort donc du cadre des mécanismes de correspondance documentés pour _redirects.

Les tests du gestionnaire de Cloudflare vérifient aussi une destination externe contenant un fragment. Une requête vers https://foo.com/bar?test=abc, redirigée vers https://foobar.com/#heading, produit https://foobar.com/?test=abc#heading : la chaîne de requête conservée apparaît avant le fragment.

Comment vérifier la destination après déploiement ?

Le guide de vérification de Pages de Cloudflare recommande d’examiner l’en-tête location et le code de statut avec curl. Pour les exemples de règles ci-dessus, les commandes de vérification sont les suivantes, en remplaçant le domaine d’exemple par le domaine déployé :

curl --head -i 'https://example.com/?sort=price'
curl --head -i 'https://example.com/recent?other=query'

Les en-têtes peuvent ensuite être comparés au tableau. Ces commandes constituent une procédure de vérification ; le tableau présente les résultats attendus par les tests de Cloudflare.

Le guide des redirections de Pages exclut du traitement de _redirects les requêtes prises en charge par Pages Functions. Pour ces routes, le comportement de redirection doit être défini dans le code de la Function, ou la route doit être exclue de Functions pour que les règles statiques puissent s’appliquer.

Termes associés

Questions fréquentes

Puis-je ajouter une chaîne de requête fixe à une destination ?

Oui. Le guide des redirections de Cloudflare contient l’exemple /querystrings /?query=string 301. Selon la logique de sélection du gestionnaire de Pages, cette chaîne de requête de destination remplace toute chaîne entrante.

Puis-je conserver la chaîne de requête entrante lors d’une redirection vers un autre domaine ?

Oui. Le gestionnaire de Pages utilise la chaîne de requête entrante pour une destination externe lorsque celle-ci n’en contient aucune. Une chaîne de requête explicite dans la destination est prioritaire.

L’omission du code de statut change-t-elle la règle de traitement de la chaîne de requête ?

Le guide des redirections de Pages fixe le code de statut par défaut à 302. Le gestionnaire sélectionne la chaîne de requête avant de choisir le statut de la réponse.

Sources

  1. IETF, « RFC 3986: Uniform Resource Identifier (URI): Generic Syntax », janvier 2005
  2. Cloudflare, « Redirects », 25 août 2026
  3. Cloudflare, « pages-shared README », instantané du dépôt du 16 octobre 2026
  4. Cloudflare, « Pages asset-server handler tests », instantané du dépôt du 16 octobre 2026
  5. Cloudflare, « Pages asset-server handler », instantané du dépôt du 16 octobre 2026
  6. Cloudflare, « Redirecting www to domain apex », 21 avril 2026

Vérifiez comment une page se lit pour les moteurs de réponse. Ouvrir l’analyseur de score GEO

Testez une page et voyez quoi corriger en premier

L'analyse prend en général moins de 10 secondes et ne demande pas de compte.

400 000+ pages notées dans le benchmark public