Show Menu
SUJETS×

A propos du menu Réécrire les règles

Utilisez le menu Réécrire les règles pour définir l’analyse et rechercher les règles d’URL et de titre.

A propos des règles d’URL du magasin de listes d’analyse

Les règles d’analyse d’URL spécifient la manière dont les URL qu’il rencontre dans le contenu Web sont réécrites. Vous pouvez spécifier un nombre illimité de règles et de conditions et manipuler n’importe quelle portion des URL rencontrées.
Les règles d’analyse sont particulièrement utiles pour réécrire des parties dynamiques d’une URL, par exemple un identifiant de session unique pour chaque client qui visite votre site Web. Vous pouvez également utiliser des règles de réécriture pour masquer certaines parties d’une URL, telles que les paramètres de requête, du robot de recherche. Par défaut, aucune règle n’est spécifiée et aucune réécriture d’URL n’est effectuée.
Lorsqu’un site Web est analysé, les URL de contenu incorporé sont stockées dans une liste temporaire de pages Web supplémentaires à analyser. Avant qu’une URL ne soit ajoutée à cette liste, les règles de réécriture du magasin lui sont appliquées. En règle générale, les règles de réécriture du magasin sont utilisées pour supprimer un ID de session d’une URL ou pour appliquer un ID de session spécifique pour l’analyse. Lorsque le robot de recherche récupère une URL de la liste, les règles de récupération de réécriture sont utilisées pour manipuler à nouveau des portions de cette URL. En règle générale, les règles de récupération sont utilisées pour insérer de nouveau des données sensibles au temps dans l’URL. C’est cette URL finale qui est utilisée pour récupérer la page de votre site Web.
En règle générale, vous utilisez exclusivement des règles d’URL de stockage. Les règles d’URL de récupération ne sont nécessaires que si les URL contiennent des données dynamiques, comme un ID de session, et si ces données dynamiques changent au fil du temps pour rester valides. Dans ce cas, vous utilisez les règles d’URL de stockage pour obtenir l’état le plus récent des données à partir des URL rencontrées. Ensuite, vous utilisez les règles de récupération d’URL pour ajouter ces données à chaque URL lorsque le robot de recherche tente de récupérer la page.
Chaque règle est spécifiée avec une directive de règle de réécriture (RewriteRule) et une ou plusieurs conditions de réécriture facultatives (RewriteCond). L'ordre des règles est important. Le jeu de règles est lu en boucle règle par règle. Lorsqu’une règle correspond, elle effectue une boucle dans toutes les conditions de réécriture correspondantes. Une règle d’URL d’analyse est spécifiée de la manière suivante :
RewriteCond TestString CondPattern [Flags] 
RewriteRule Pattern Substitution [Flags]

Lorsqu’une URL incorporée est rencontrée, le robot de recherche tente de faire correspondre l’URL au modèle de chaque règle d’analyse. Si le modèle correspond, le moteur de réécriture recherche les directives RewriteCond correspondantes. Si aucune condition n’est présente, l’URL est remplacée par une nouvelle valeur construite à partir de la chaîne de substitution et continue avec la règle suivante dans le jeu de règles. S’il existe des conditions, elles sont traitées dans l’ordre dans lequel elles sont répertoriées. Le moteur de réécriture tente de faire correspondre un modèle de condition (CondPattern) à une chaîne de test (TestString). Si les deux correspondent, la condition suivante est traitée jusqu’à ce qu’aucune autre condition ne soit disponible. Si toutes les conditions correspondent, l’URL est remplacée par la Substitution spécifiée dans la règle. Si la condition n’est pas remplie, l’ensemble complet des conditions et la règle correspondante échouent.

A propos des directives RewriteRule

Une directive RewriteRule se présente sous la forme suivante :
           
<i>RewriteRule Pattern Substitution [Flags]</i> 
        

Pattern peut être une expression régulière POSIX, appliquée à l’URL active. L’"URL actuelle" peut différer de l’URL demandée d’origine, car des règles antérieures ont peut-être déjà mis en correspondance et modifié l’URL.
Voir Expressions régulières .
Vous ne pouvez pas utiliser le caractère "pas" ('!') pour préfixer le modèle. Le caractère "pas" vous permet de nier un modèle, c’est-à-dire d’être vrai uniquement si l’URL active ne correspond PAS à ce modèle. Le caractère "pas" peut être utilisé lorsqu’il est préférable de faire correspondre un modèle négatif ou comme règle par défaut finale.
Vous ne pouvez pas utiliser à la fois le caractère "pas" et les caractères génériques groupés dans un modèle. En outre, vous ne pouvez pas utiliser de modèle négatif lorsque la chaîne de substitution contient $N.
Vous pouvez utiliser des parenthèses pour créer une référence arrière dans le modèle, qui peut être référencée par Substitution et CondPattern.
Substitution L’URL est remplacée par la chaîne de substitution, qui contient les éléments suivants :
Texte brut : Texte transmis sans modification.
Les références arrière permettent d’accéder aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Voici les deux types de références arrière :
  • RéécrireRéférences de retour Ces références de retour correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.
  • RéécrireCond Références inversées Ces références inversées correspondent dans le dernier CondPattern RewriteCond et prennent la forme %N (0 <= N <= 9).
Variables : Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE est une chaîne pour le nom d’une variable définie. Pour plus d’informations sur la définition de variables d’environnement, voir l’ *[E]* indicateur.
Fonctions : Il s’agit des fonctions du formulaire $ dont NAME_OF_FUNCTION est le suivant :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
  • l’URL d’échappement code tous les caractères de la clé .
  • Les caractères "a"...z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' et '_' ne sont pas modifiés ; les espaces sont convertis en "+" et tous les autres caractères sont convertis en leur équivalent codé URL %xx.
  • unescape transforme '+' en espace et tous les caractères codés dans l’URL %xx en caractères uniques.
Il existe une chaîne de substitution spéciale : '-' ça veut dire "PAS de substitution". La '-' chaîne est souvent utilisée avec l’indicateur C (chain), ce qui vous permet de faire correspondre une URL à plusieurs modèles avant qu’une substitution ne se produise.
Indicateurs
(Facultatif) Placez les indicateurs entre crochets [] . Plusieurs indicateurs sont séparés par des virgules.
Indicateur
Description
'last|L'
Dernière règle.
Arrête le processus de réécriture et n’applique aucune règle de réécriture supplémentaire. Utilisez cet indicateur pour empêcher tout traitement ultérieur de l’URL active.
'next|N'
Tour suivant.
Réexécute le processus de réécriture (en commençant à nouveau par la première règle de réécriture) à l’aide de l’URL de la dernière règle de réécriture (et non de l’URL d’origine). Faites attention à ne pas créer une boucle fatale !
'chain|C'
Enchaîné avec la règle suivante.
Chaine la règle actuelle à la règle suivante (qui peut également être liée à la règle suivante, etc.). Si une règle correspond, le processus de substitution se poursuit comme d’habitude. Si la règle ne correspond pas, toutes les règles chaînées suivantes sont ignorées.
'nocase|NC'
Pas de cas.
Rend le modèle non sensible à la casse (c’est-à-dire qu’il n’y a aucune différence entre "A-Z" et "a-z") lorsque le modèle est mis en correspondance avec l’URL active.
'skip|S=num'
Ignore la ou les règles suivantes.
Si la règle actuelle correspond, cet indicateur force le moteur de réécriture à ignorer les règles num suivantes dans le jeu de règles. Utilisez cet indicateur pour créer des constructions pseudo-alors-sinon. La dernière règle de la clause then-clause devient skip=N, où N est le nombre de règles de la clause else.
Remarque : Ce drapeau n'est pas le même que le drapeau 'chain|C' !)
'env|E=VAR:VAL'
Définit la variable d’environnement.
Crée une variable d’environnement "VAR" définie sur la valeur VAL, où VAL peut contenir des références arrière d’expressions régulières, $N et %N, qui sont développées. Vous pouvez utiliser cet indicateur plusieurs fois pour définir plusieurs variables. Les variables peuvent être ultérieurement déréférencées dans un modèle RewriteCond suivant via %{VAR}.
Utilisez cet indicateur pour supprimer et mémoriser les informations des URL.
Les règles de réécriture du magasin et les règles de réécriture de récupération partagent les valeurs de variable. En raison de ce comportement, vous pouvez définir une variable sur une valeur de sessionid sensible au temps lorsqu’une URL incorporée est rencontrée et stockée. Lorsque l’URL suivante est récupérée de la liste de stockage temporaire, la dernière valeur de sessionid peut être ajoutée avant que cette page ne soit récupérée.
Exemple de RewriteRule avec une fonction
Supposons que vous disposez d’un serveur sensible à la casse, qui gère les chaînes "www.mydomain.com" et "www.MyDomain.com" différemment. Pour que votre serveur fonctionne correctement, assurez-vous que le domaine est toujours "www.mydomain.com" même si certains documents contiennent des liens "www.MyDomain.com." Pour ce faire, vous pouvez utiliser la règle suivante :
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2

Cette règle de réécriture utilise la fonction tolower pour réécrire la partie domaine d’une URL afin de s’assurer qu’elle est toujours en minuscules, comme dans l’exemple suivant :
  1. Le modèle (^https://([^/]*)(.*)$) contient une référence arrière ([^/]*) qui correspond à tous les caractères entre https:// et le premier / de l’URL. Le modèle contient également une seconde référence (.*) qui correspond à tous les caractères restants dans l’URL.
  2. La Substitution (https://${tolower:$1}$2) demande au moteur de recherche de réécrire l'URL en utilisant la tolower fonction sur la première référence arrière, (https:// ${tolower:$1}$2) laissant le reste de l'URL intact (https://${tolower:$1} $2) .
Ainsi, une URL du formulaire https://www.MyDomain.com/INTRO/index.Html est réécrite sous https://www.mydomain.com/INTRO/index.Html .

A propos des directives RewriteCond

La directive RewriteCond définit une condition de règle. Lorsqu’un RewriteCond précède un RewriteRule, la règle n’est utilisée que si son modèle correspond au titre actuel et que les conditions supplémentaires s’appliquent. Les conditions de réécriture prennent la forme suivante :
           
<i>RewriteCond TestString CondPattern [Flags]</i> 
        

TestString est une chaîne pouvant contenir les éléments suivants :
Texte brut : Texte transmis sans modification.
Les références arrière permettent d’accéder aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Voici les deux types de références arrière :
  • RéécrireRéférences de retour Ces références de retour correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2 .
  • RéécrireCond Références inversées Ces références inversées correspondent dans le dernier CondPattern RewriteCond et prennent la forme %N (0<= N <= 9).
Variables : Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE peut être une chaîne pour le nom d’une variable définie. Pour plus d’informations sur la définition de variables, reportez-vous à l’indicateur RewriteRule [E] .
Fonctions : Il s’agit des fonctions du formulaire $ dont NAME_OF_FUNCTION est le suivant :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
  • escape URL code tous les caractères de la clé. Les caractères "a"...z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' et '_' restent inchangés, les espaces sont traduits en '+' et tous les autres caractères sont convertis en leur équivalent codé %xx URL.
  • unescape transforme "+" en espace et tous les caractères d’encodage %xx URL en caractères uniques.
CondPattern est une expression régulière étendue standard avec quelques ajouts. La chaîne de modèle peut être précédée d’un ! caractère (point d’exclamation) pour spécifier un modèle qui ne correspond pas. Au lieu de chaînes d’expression régulière réelles, vous pouvez utiliser l’une des variantes spéciales suivantes :
Vous pouvez également ajouter un point d’exclamation ('!') au préfixe de tous ces tests. pour nier leur sens.
Chaîne CondPattern
Description
'<CondPattern'
Lexiquement moins.
Traite CondPattern comme une chaîne ordinaire et la compare lexiquement à TestString. True si TestString est lexiquement inférieur à CondPattern.
'>CondPattern'
Lexiquement plus grand.
Traite CondPattern comme une chaîne ordinaire et la compare lexiquement à TestString. True si TestString est lexiquement supérieur à CondPattern.
'=CondPattern'
Lexiquement égal.
Traite CondPattern comme une chaîne ordinaire et la compare lexiquement à TestString. True si TestString est lexiquement égal à CondPattern, c'est-à-dire que les deux chaînes sont exactement égales (caractère par caractère). Si CondPattern n'est que "" (deux guillemets), TestString est comparé à la chaîne vide.
Indicateurs (facultatif) Entourez les indicateurs entre crochets [] . Plusieurs indicateurs sont séparés par des virgules.
Indicateur
Description
'nocase|NC'
Pas de cas.
Cet indicateur ne rend pas le test sensible à la casse, c'est-à-dire qu'il n'y a aucune différence entre "A-Z" et "a-z" dans TestString développé et dans CondPattern.
'ornext|OR'
Ou la condition suivante.
Utilisez cet indicateur pour combiner des conditions de règle avec un OU local au lieu du ET implicite. Sans cet indicateur, vous devrez écrire le cond/la règle plusieurs fois.
Exemple
Certaines pages Web attribuent une variable CGI "sessionid" à la première fois qu’un visiteur arrive sur un site. Cette variable sert à identifier le visiteur et, lorsque le visiteur navigue sur le site, elle est transmise. Comme le robot de recherche ressemble à un visiteur de votre site, un numéro "sessionid" lui est attribué. Le robot de recherche conserve cette valeur "sessionid" unique, même si une seconde page du site tente d’attribuer une nouvelle valeur. Pour ce faire, vous devez réécrire deux règles.
La première règle sert à identifier et à stocker la variable sessionid :
RewriteCond  %{sessionid}  !.+ 
RewriteRule  ^.+sessionid= 
<b>([^&#]+)</b>.*$  -   
<i>[E=sessionid:$1]</i>

RewriteRule utilise un indicateur E ([E=sessionid:$1]) pour affecter la valeur actuelle du paramètre CGI de session à la variable sessionid . Le $1 fait référence à la première référence arrière, qui se trouve entre le premier jeu de parenthèses dans le modèle de la règle de réécriture ([^&#]+) .
L’expression régulière ^&#]+ correspond à la partie d’une URL entre le mot sessionid **&**&#x200B;or&#x200B;**#** et le caractère suivant. Puisque cette règle de réécriture n’est utilisée que pour créer la valeur initiale de la variable sessionid, elle n’est pas réécrite. Notez que le champ Substitution de la règle est défini - pour indiquer qu’aucune réécriture n’est requise.
Le conteneur de réécriture examine la variable sessionid ( %{sessionid} ). S'il n'a pas même un caractère unique (!.+), alors la règle de réécriture correspond.
Cette règle permet de lire l’URL en tant que https://www.domain.com/home/?sessionid=1234&function=start et d’affecter la valeur 1234 à la variable sessionid .
La deuxième règle est utilisée pour réécrire toutes les URL qui correspondent au modèle RewriteRule suivant :
RewriteRule   
<b>^(.+)</b>sessionid=[^&#]+ 
<i>(.*)$</i>  $1sessionid=%{sessionid}$2

Le modèle RewriteRule contient deux références arrière : (.+) et (.*) . La première référence arrière correspond à tous les caractères antérieurs sessionid . La deuxième référence arrière correspond à tous les caractères après la fin & ou # .
Le modèle de substitution réécrit l’URL à l’aide de la première référence arrière, suivie de la chaîne "sessionid=", suivie de la valeur de la variable d’ID de session définie par la première règle %{sessionid} , suivie de la seconde référence arrière. ($1sessionid=%{sessionid} $2)
Notez que cette RewriteRule ne contient pas de RewriteCond. De ce fait, elle provoque une réécriture pour toutes les URL qui correspondent au modèle RewriteRule . Ainsi, si la valeur de la variable sessionid ( %{sessionid} ) est 1234 , une URL du formulaire https://www.domain.com/products/?sessionid=5678&function=buy est réécrite en tant que https://www.domain.com/products/?sessionid=1234&function=buy

Remerciements

Le logiciel du moteur de réécriture a été développé à l'origine par le groupe Apache pour être utilisé dans le projet de serveur Apache HTTP (https://www.apache.org/).

Ajout d’une règle d’URL de stockage de liste d’analyse

Vous pouvez ajouter des règles d’URL de stockage de liste d’analyse pour indiquer comment les URL rencontrées dans le contenu Web sont réécrites. Vous pouvez spécifier un nombre illimité de règles et de conditions et manipuler n’importe quelle portion des URL rencontrées.
Pour ajouter des règles d’URL de stockage de liste d’analyse
  1. Dans le menu du produit, cliquez sur Settings > Rewrite Rules > Crawl List Store URL Rules .
  2. Dans le Crawl List Store URL Rules champ, entrez les règles de votre choix.
    Les lignes vierges et les lignes de commentaire commençant par le caractère "#" (hachage) sont autorisées.
  3. (Facultatif) Sur la Crawl List Store URL Rules page, dans le Test Crawl List Store URL Rules champ, saisissez une URL de test dont vous souhaitez tester les règles d’analyse, puis cliquez sur Tester .
  4. Cliquez sur Enregistrer les modifications .
  5. (Facultatif) Recréez l’index du site d’évaluation si vous souhaitez prévisualiser les résultats.
  6. (Facultatif) Sur la Crawl List Store URL Rules page, effectuez l’une des opérations suivantes :

A propos de l'analyse des règles d'URL de récupération

Les règles d’analyse des URL spécifient la manière dont les URL rencontrées dans le contenu Web sont réécrites. Vous pouvez spécifier un nombre illimité de règles et de conditions et manipuler n’importe quelle portion des URL rencontrées.
Avant que les effets des règles ne soient visibles par les clients, veillez à recréer l’index de votre site.
Les règles d’analyse sont particulièrement utiles pour réécrire des parties dynamiques d’une URL, par exemple un identifiant de session unique pour chaque client qui visite votre site Web. Vous pouvez également utiliser des règles de réécriture pour masquer certaines parties d’une URL, telles que les paramètres de requête, du robot de recherche. Par défaut, aucune règle n’est spécifiée et aucune réécriture d’URL n’est effectuée.
Lorsqu’un site Web est analysé, les URL de contenu incorporé sont stockées dans une liste temporaire de pages Web supplémentaires à analyser. Lorsque le robot de recherche récupère une URL de la liste, les règles de récupération de réécriture sont utilisées pour manipuler des parties de cette URL. En règle générale, les règles de récupération sont utilisées pour insérer des données sensibles au temps dans une URL. C’est cette URL finale qui est utilisée pour récupérer la page de votre site Web.
La récupération des règles de réécriture n’est nécessaire que si les URL contiennent des données dynamiques, comme un ID de session, et si ces données dynamiques changent au fil du temps pour rester valides. Dans ce cas, vous utilisez les règles de réécriture du magasin pour obtenir l’état le plus récent des données à partir des URL rencontrées. Ensuite, vous utilisez les règles de récupération de réécriture pour ajouter ces données à chaque URL lorsque les robots de recherche récupèrent la page.
Chaque règle est spécifiée avec une directive de règle de réécriture (RewriteRule) et une ou plusieurs conditions de réécriture facultatives (RewriteCond). L'ordre des règles est important. Le jeu de règles est lu en boucle règle par règle. Lorsqu’une règle correspond, elle effectue une boucle dans toutes les conditions de réécriture correspondantes. Une règle d’URL d’analyse est spécifiée de la manière suivante :
RewriteCond TestString CondPattern [Flags] 
RewriteRule Pattern Substitution [Flags]

Lorsqu’une URL incorporée est rencontrée, le robot de recherche tente de faire correspondre l’URL au modèle de chaque règle d’analyse. Si le modèle correspond, le moteur de réécriture recherche les directives RewriteCond correspondantes. Si aucune condition n’est présente, l’URL est remplacée par une nouvelle valeur construite à partir de la chaîne de substitution et continue avec la règle suivante dans le jeu de règles. S’il existe des conditions, elles sont traitées dans l’ordre dans lequel elles sont répertoriées. Le moteur de réécriture tente de faire correspondre un modèle de condition (CondPattern) à une chaîne de test (TestString). Si les deux correspondent, la condition suivante est traitée jusqu’à ce qu’aucune autre condition ne soit disponible. Si toutes les conditions correspondent, l’URL est remplacée par la Substitution spécifiée dans la règle. Si la condition n’est pas remplie, l’ensemble complet des conditions et la règle correspondante échouent.

A propos des directives RewriteRule

Une directive RewriteRule se présente sous la forme suivante :
           
<i>RewriteRule Pattern Substitution [Flags]</i> 
        

Pattern peut être une expression régulière POSIX, appliquée à l’URL active. L’"URL actuelle" peut différer de l’URL demandée d’origine, car des règles antérieures ont peut-être déjà mis en correspondance et modifié l’URL.
Voir Expressions régulières .
Vous ne pouvez pas utiliser le caractère "pas" ('!') pour préfixer le modèle. Le caractère "pas" vous permet de nier un modèle, c’est-à-dire d’être vrai uniquement si l’URL active ne correspond PAS à ce modèle. Le caractère "pas" peut être utilisé lorsqu’il est préférable de faire correspondre un modèle négatif ou comme règle par défaut finale.
Vous ne pouvez pas utiliser à la fois le caractère "pas" et les caractères génériques groupés dans un modèle. En outre, vous ne pouvez pas utiliser de modèle négatif lorsque la chaîne de substitution contient $N.
Vous pouvez utiliser des parenthèses pour créer une référence arrière dans le modèle, qui peut être référencée par Substitution et CondPattern.
Substitution L’URL est remplacée par la chaîne de substitution, qui contient les éléments suivants :
Texte brut : Texte transmis sans modification.
Les références arrière permettent d’accéder aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Voici les deux types de références arrière :
  • RéécrireRéférences de retour Ces références de retour correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2.
  • Références arrière RewriteCond Ces références arrière correspondent dans le dernier CondPattern RewriteCondPattern et prennent la forme %N (0 <= N <= 9).
Variables : Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE est une chaîne pour le nom d’une variable définie. Voir l’indicateur # pour plus d’informations sur la définition de variables d’environnement.
Fonctions : Il s’agit des fonctions du formulaire $ dont NAME_OF_FUNCTION est le suivant :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
  • l’URL d’échappement code tous les caractères de la clé .
  • Les caractères "a"...z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' et '_' ne sont pas modifiés ; les espaces sont convertis en "+" et tous les autres caractères sont convertis en leur équivalent codé URL %xx.
  • unescape transforme '+' en espace et tous les caractères codés dans l’URL %xx en caractères uniques.
Il existe une chaîne de substitution spéciale : "-", c'est-à-dire "PAS de substitution". La chaîne "-" est souvent utilisée avec l’indicateur C (chain), ce qui vous permet de faire correspondre une URL à plusieurs modèles avant qu’une substitution ne se produise.
Indicateurs
Indicateur
Description
'last|L'
Dernière règle.
Arrête le processus de réécriture et n’applique aucune règle de réécriture supplémentaire. Utilisez cet indicateur pour empêcher tout traitement ultérieur de l’URL active.
'next|N'
Tour suivant.
Réexécute le processus de réécriture (en commençant à nouveau par la première règle de réécriture) à l’aide de l’URL de la dernière règle de réécriture (et non de l’URL d’origine). Veillez à ne pas créer de boucle fatale.
'chain|C'
Enchaîné avec la règle suivante.
Chaine la règle actuelle à la règle suivante (qui peut également être liée à la règle suivante, etc.). Si une règle correspond, le processus de substitution se poursuit comme d’habitude. Si la règle ne correspond pas, toutes les règles chaînées suivantes sont ignorées.
'nocase|NC'
Pas de cas.
Rend le modèle non sensible à la casse (c’est-à-dire qu’il n’y a aucune différence entre "A-Z" et "a-z") lorsque le modèle est mis en correspondance avec l’URL active.
'skip|S=num'
Ignore la ou les règles suivantes.
Si la règle actuelle correspond, cet indicateur force le moteur de réécriture à ignorer les règles num suivantes dans le jeu de règles. Utilisez cet indicateur pour créer des constructions pseudo-alors-sinon. La dernière règle de la clause then-clause devient skip=N, où N est le nombre de règles de la clause else.
Remarque : Ce drapeau n'est pas le même que le drapeau 'chain|C' !)
'env|E=VAR:VAL'
Définit la variable d’environnement.
Crée une variable d’environnement "VAR" définie sur la valeur VAL, où VAL peut contenir des références arrière d’expressions régulières, $N et %N, qui sont développées. Vous pouvez utiliser cet indicateur plusieurs fois pour définir plusieurs variables. Les variables peuvent être ultérieurement déréférencées dans un modèle RewriteCond suivant via %{VAR}.
Utilisez cet indicateur pour supprimer et mémoriser les informations des URL.
Les règles de réécriture du magasin et les règles de réécriture de récupération partagent les valeurs de variable. En raison de ce comportement, vous pouvez définir une variable sur une valeur de sessionid sensible au temps lorsqu’une URL incorporée est rencontrée et stockée. Lorsque l’URL suivante est récupérée de la liste de stockage temporaire, la dernière valeur de sessionid peut être ajoutée avant que cette page ne soit récupérée.
Exemple de RewriteRule avec une fonction
Supposons que vous disposez d’un serveur sensible à la casse, qui gère les chaînes "www.mydomain.com" et "www.MyDomain.com" différemment. Pour que votre serveur fonctionne correctement, assurez-vous que le domaine est toujours "www.mydomain.com", même si certains documents contiennent des liens faisant référence à "www.MyDomain.com". Pour ce faire, vous pouvez utiliser la règle suivante :
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2

Cette règle de réécriture utilise la fonction tolower pour réécrire la partie domaine d’une URL afin de s’assurer qu’elle est toujours en minuscules, comme dans l’exemple suivant :
  1. Le modèle (^https://([^/]*)(.*)$) contient une référence arrière ([^/]*) qui correspond à tous les caractères entre https:// et le premier / de l’URL. Le modèle contient également une seconde référence (.*) qui correspond à tous les caractères restants dans l’URL.
  2. La Substitution (https://${tolower:$1}$2) demande au moteur de recherche de réécrire l'URL en utilisant la tolower fonction sur la première référence arrière, (https:// ${tolower:$1}$2) laissant le reste de l'URL intact (https://${tolower:$1} $2) .
Ainsi, une URL du formulaire https://www.MyDomain.com/INTRO/index.Html est réécrite sous https://www.mydomain.com/INTRO/index.Html .

A propos des directives RewriteCond

La directive RewriteCond définit une condition de règle. Lorsqu’un RewriteCond précède un RewriteRule, la règle n’est utilisée que si son modèle correspond au titre actuel et que les conditions supplémentaires s’appliquent. Les conditions de réécriture prennent la forme suivante :
           
<i>RewriteCond TestString CondPattern [Flags]</i> 
        

TestString est une chaîne pouvant contenir les éléments suivants :
Texte brut : Texte transmis sans modification.
Les références arrière permettent d’accéder aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Voici les deux types de références arrière :
  • RéécrireRéférences de retour Ces références de retour correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^https:// ([^/]*) (.*)$ https://${tolower: $1} $2 .
  • RéécrireCond Références inversées Ces références inversées correspondent dans le dernier CondPattern RewriteCond et prennent la forme %N (0<= N <= 9).
Variables : Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE peut être une chaîne pour le nom d’une variable définie. Pour plus d’informations sur la définition de variables, reportez-vous à l’indicateur RewriteRule [E] .
Fonctions : Il s’agit des fonctions du formulaire $ dont NAME_OF_FUNCTION est le suivant :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
  • escape URL code tous les caractères de la clé. Les caractères "a"...z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' et '_' restent inchangés, les espaces sont traduits en '+' et tous les autres caractères sont convertis en leur équivalent codé URL %xx.
  • unescape transforme '+' en espace et tous les caractères d’encodage d’URL %xx en caractères uniques.
CondPattern est une expression régulière étendue standard avec quelques ajouts. La chaîne de modèle peut être précédée d’un préfixe "!". (point d’exclamation) pour spécifier un modèle qui ne correspond pas. Au lieu de chaînes d’expression régulière réelles, vous pouvez utiliser l’une des variantes spéciales suivantes :
Vous pouvez également ajouter un point d’exclamation ('!') au préfixe de tous ces tests. pour nier leur sens.
Chaîne CondPattern
Description
'<CondPattern'
Lexiquement moins.
Traite CondPattern comme une chaîne ordinaire et la compare lexiquement à TestString. True si TestString est lexiquement inférieur à CondPattern.
'>CondPattern'
Lexiquement plus grand.
Traite CondPattern comme une chaîne ordinaire et la compare lexiquement à TestString. True si TestString est lexiquement supérieur à CondPattern.
'=CondPattern'
Lexiquement égal.
Traite CondPattern comme une chaîne ordinaire et la compare lexiquement à TestString. True si TestString est lexiquement égal à CondPattern, c'est-à-dire que les deux chaînes sont exactement égales (caractère par caractère). Si CondPattern n'est que "" (deux guillemets), TestString est comparé à la chaîne vide.
Indicateurs (facultatif) Entourez les indicateurs entre crochets [] . Plusieurs indicateurs sont séparés par des virgules.
Indicateur
Description
'nocase|NC'
Pas de cas.
Cet indicateur ne rend pas le test sensible à la casse, c'est-à-dire qu'il n'y a aucune différence entre "A-Z" et "a-z" dans TestString développé et dans CondPattern.
'ornext|OR'
Ou la condition suivante.
Utilisez cet indicateur pour combiner des conditions de règle avec un OU local au lieu du ET implicite. Sans cet indicateur, vous devrez écrire le cond/la règle plusieurs fois.
Exemple
Certaines pages Web attribuent une variable CGI "sessionid" à la première fois qu’un visiteur arrive sur un site. Cette variable sert à identifier le visiteur et, lorsque le visiteur navigue sur le site, elle est transmise. Comme le robot de recherche ressemble à un visiteur de votre site, un numéro "sessionid" lui est attribué. Le robot de recherche conserve cette valeur "sessionid" unique, même si une seconde page du site tente d’attribuer une nouvelle valeur. Pour ce faire, vous devez réécrire deux règles.
La première règle sert à identifier et à stocker la variable sessionid :
RewriteCond  %{sessionid}  !.+ 
RewriteRule  ^.+sessionid= 
<b>([^&#]+)</b>.*$  -   
<i>[E=sessionid:$1]</i>

RewriteRule utilise un indicateur E ([E=sessionid:$1]) pour affecter la valeur actuelle du paramètre CGI de session à la variable sessionid . Le $1 fait référence à la première référence arrière, qui se trouve entre le premier jeu de parenthèses dans le modèle de la règle de réécriture ([^&#]+) .
L’expression régulière ^&#]+ correspond à la portion d’une URL entre le mot sessionid et le caractère suivant​ & ​ou​ # . Puisque cette règle de réécriture n’est utilisée que pour créer la valeur initiale de la variable sessionid, elle n’est pas réécrite. Notez que le champ Substitution de la règle est défini - pour indiquer qu’aucune réécriture n’est requise.
Le conteneur de réécriture examine la variable sessionid ( %{sessionid} ). S'il n'a pas même un caractère unique (!.+), alors la règle de réécriture correspond.
Cette règle permet de lire l’URL en tant que https://www.domain.com/home/?sessionid=1234&function=start et d’affecter la valeur 1234 à la variable sessionid .
La deuxième règle est utilisée pour réécrire toutes les URL qui correspondent au modèle RewriteRule suivant :
RewriteRule   
<b>^(.+)</b>sessionid=[^&#]+ 
<i>(.*)$</i>  $1sessionid=%{sessionid}$2

Le modèle RewriteRule contient deux références arrière : (.+) et (.*) . La première référence arrière correspond à tous les caractères antérieurs sessionid . La deuxième référence arrière correspond à tous les caractères après la fin & ou # .
Le modèle de substitution réécrit l’URL à l’aide de la première référence arrière, suivie de la chaîne "sessionid=", suivie de la valeur de la variable d’ID de session définie par la première règle %{sessionid} , suivie de la seconde référence arrière. ($1sessionid=%{sessionid} $2)
Notez que cette RewriteRule ne contient pas de RewriteCond. De ce fait, elle provoque une réécriture pour toutes les URL qui correspondent au modèle RewriteRule . Ainsi, si la valeur de la variable sessionid ( %{sessionid} ) est 1234 , une URL du formulaire https://www.domain.com/products/?sessionid=5678&function=buy est réécrite en tant que https://www.domain.com/products/?sessionid=1234&function=buy

Remerciements

Le logiciel du moteur de réécriture a été développé à l'origine par le groupe Apache pour être utilisé dans le projet de serveur Apache HTTP (https://www.apache.org/).

Ajout de règles d’URL de récupération de liste d’analyse

Vous pouvez ajouter des règles d’URL de récupération de liste d’analyse pour indiquer comment les URL rencontrées dans le contenu Web sont réécrites. La récupération des règles de réécriture n’est nécessaire que si les URL contiennent des données dynamiques, telles qu’un ID de session, et si ces données dynamiques changent au fil du temps pour rester valides.
Pour ajouter des règles d’URL de récupération de liste d’analyse
  1. Dans le menu du produit, cliquez sur Settings > Rewrite Rules > Crawl List Retrieve URL Rules .
  2. Dans le Crawl List Retrieve URL Rules champ, entrez les règles de votre choix.
    Les lignes vierges et les lignes de commentaire commençant par le caractère "#" (hachage) sont autorisées.
  3. (Facultatif) Sur la Crawl List Retrieve URL Rules page, dans le Test Crawl List Retrieve URL Rules champ, saisissez une URL de test dont vous souhaitez tester les règles d’analyse, puis cliquez sur Tester .
  4. Cliquez sur Enregistrer les modifications .
  5. (Facultatif) Recréez l’index du site d’évaluation si vous souhaitez prévisualiser les résultats.
  6. (Facultatif) Sur la Crawl List Retrieve URL Rules page, effectuez l’une des opérations suivantes :

A propos des règles de titre d’analyse

Les règles de titre d'analyse indiquent comment les titres trouvés dans le contenu Web sont réécrits avant d'être stockés dans l'index de recherche.
Par exemple, vous pouvez utiliser une règle de réécriture pour supprimer une partie d’un titre, tel qu’un nom d’organisation. Lorsqu’un site Web est analysé, les titres rencontrés sont stockés dans un tampon temporaire. Toutefois, avant l’ajout d’un titre à ce tampon, les règles de titre lui sont appliquées. Par défaut, la recherche/marchandisage sur le site ne comporte aucune règle de titre d’analyse et n’effectue aucune modification du titre.
Avant que les effets des règles ne soient visibles par les clients, recréez l’index de votre site.
Vous pouvez rapidement annuler les modifications apportées aux règles de titre d’analyse à l’aide de la fonction Historique.
Les règles peuvent se composer de deux éléments principaux : RewriteRule et RewriteCond facultatif. Vous pouvez spécifier un nombre illimité de règles et de conditions. L’ordre de ces règles est important car le jeu de règles est bouclé par règle. Lorsqu’une règle correspond, elle passe en boucle toutes les conditions de réécriture correspondantes (facultatives). Les règles d’analyse d’URL sont spécifiées de la manière suivante :
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Lorsqu’un titre est rencontré, le robot de recherche tente de faire correspondre le titre au Modèle de chaque règle d’analyse. Si le modèle correspond, le moteur de réécriture recherche les directives RewriteCond correspondantes. Si aucune condition n’est présente, l’URL est remplacée par une nouvelle valeur construite à partir de la chaîne de substitution et continue avec la règle suivante dans le jeu de règles. S’il existe des conditions, elles sont traitées dans l’ordre dans lequel elles sont répertoriées. Le moteur de réécriture tente de faire correspondre un modèle de condition (CondPattern) à une chaîne de test (TestString). Si les deux correspondent, la condition suivante est traitée jusqu’à ce qu’aucune autre condition ne soit disponible. Si toutes les conditions correspondent, l’URL est remplacée par la Substitution spécifiée dans la règle. Si la condition n’est pas remplie, l’ensemble complet des conditions et la règle correspondante échouent.
Entrez les règles d’URL d’analyse dans la zone de texte, puis cliquez sur Enregistrer les modifications. Les lignes vierges et les lignes de commentaire commençant par le caractère "#" (hachage) sont autorisées. Pour tester les règles de recherche, vous pouvez entrer une URL de test dans la zone de texte "Tester les règles de réécriture", puis cliquer sur Tester.

Directive RewriteRule

Chaque directive RewriteRule définit une règle de réécriture. Les règles sont appliquées dans l’ordre dans lequel elles sont répertoriées. Une règle de réécriture se présente comme suit :
RewriteRule Pattern Substitution [Flags]

Le modèle peut être une expression régulière POSIX, appliquée au titre actuel. Le "titre actuel" est différent du titre d’origine, car les règles précédentes l’ont déjà mis en correspondance et modifié.
Voir Expressions régulières .
Vous pouvez utiliser le caractère "pas" ('!') pour préfixer le modèle. Le caractère "pas" vous permet de nier un modèle, c’est-à-dire d’être vrai uniquement si le titre actuel ne correspond PAS au modèle. Le caractère "pas" peut être utilisé lorsqu’il est préférable de faire correspondre un modèle négatif ou comme règle par défaut finale. Remarque : Vous ne pouvez pas utiliser à la fois le caractère "pas" et les caractères génériques groupés dans un modèle. En outre, vous ne pouvez pas utiliser de modèle négatif lorsque la chaîne de substitution contient $N.
Vous pouvez utiliser des parenthèses pour créer une référence arrière, qui peut être référencée par Substitution et CondPattern.
Substitution Le titre est remplacé par la chaîne de substitution. La chaîne peut contenir les éléments suivants :
Texte brut : texte transmis sans modification.
Les références arrière permettent d’accéder aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Voici deux types de références arrière :
  • Réécrire les références arrière de règle
    Ces références arrière correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • Réécrire les références arrière de Cond
    Ces références arrière correspondent dans le dernier CondPattern RewriteCond correspondant et prennent la forme %N (0 <= N <= 9).
Variables Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE peut être une chaîne pour le nom d’une variable définie. Pour plus d’informations sur la définition de variables d’environnement, voir l’ [E] indicateur.
Fonctions Il s’agit des fonctions du formulaire $ où NAME_OF_FUNCTION est :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
Il existe une chaîne de substitution spéciale : "-", c'est-à-dire "PAS de substitution". La chaîne "-" est souvent utile avec l’indicateur C (chain), ce qui vous permet de faire correspondre un titre à plusieurs modèles avant qu’une substitution ne se produise.
Indicateurs (facultatif)
Les indicateurs sont placés entre crochets [] et plusieurs indicateurs sont séparés par des virgules :
Indicateur
Description
'last|L'
Dernière règle.
Arrête le processus de réécriture et n’applique aucune règle de réécriture supplémentaire. Utilisez cet indicateur pour empêcher tout traitement ultérieur du titre actuel.
'next|N'
Tour suivant.
Réexécute le processus de réécriture (en commençant à nouveau par la première règle de réécriture) en utilisant le titre de la dernière règle de réécriture, et non le titre d’origine. Veillez à ne pas créer de boucle morte.
'chain|C'
Enchaîné avec la règle suivante.
Chaine la règle actuelle à la règle suivante (qui peut également être liée à la règle suivante, etc.). Si une règle correspond, le processus de substitution se poursuit comme d’habitude. Si la règle ne correspond pas, toutes les règles chaînées suivantes sont ignorées.
'nocase|NC'
Pas de cas.
Rend le modèle non sensible à la casse (c’est-à-dire qu’il n’y a aucune différence entre "A-Z" et "a-z") lorsque le modèle est mis en correspondance avec le titre actuel.
'skip|S=num'
Ignorer la ou les règles suivantes.
Si la règle actuelle correspond, cet indicateur force le moteur de réécriture à ignorer les règles num suivantes dans le jeu de règles. Utilisez-le pour faire des constructions pseudo-alors-sinon. La dernière règle de la clause then-clause devient skip=N, où N est le nombre de règles de la clause else. (Remarque : Ce n'est pas la même chose que le drapeau 'chain|C' !)
'env|E=VAR:VAL'
Définissez la variable d’environnement.
Crée une variable d’environnement "VAR" définie sur la valeur VAL, où VAL peut contenir des références arrière d’expressions régulières, $N et %N, qui est étendue. Vous pouvez utiliser cet indicateur plusieurs fois pour définir plusieurs variables. Les variables peuvent être référencées ultérieurement dans un modèle RewriteCond suivant via %{VAR}. Utilisez cet indicateur pour retirer et mémoriser les informations des titres.

Directive RewriteCond (facultatif)

La directive RewriteCond définit une condition de règle. Lorsqu’un RewriteCond précède un RewriteRule, la règle n’est utilisée que si son modèle correspond au titre actuel et que les conditions supplémentaires s’appliquent.
Les directives de condition de réécriture se présentent comme suit :
RewriteCond TestString CondPattern [Flags] 

TestString est une chaîne qui peut contenir les éléments suivants :
Texte brut : texte transmis sans modification.
Les références arrière permettent d’accéder aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Il existe deux types de références arrière :
  • Réécrire les références arrière de la règle Ces références arrière correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RéécrireCond Références de renvoi Ces références de renvoi correspondent dans le dernier CondPattern RewriteCond correspondant et prennent la forme %N (0 <= N <= 9).
Variables Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE peut être une chaîne pour le nom d’une variable définie. Pour plus d’informations sur la définition des variables d’environnement, voir l’ [E] indicateur.
Fonctions Il s’agit des fonctions du formulaire $ dont NAME_OF_FUNCTION est :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
  • escape URL code tous les caractères de la clé.
  • Les caractères "a"...z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' et '_' restent inchangés, les espaces sont traduits en '+' et tous les autres caractères sont convertis en leur équivalent codé URL %xx.
  • unescape transforme '+' en espace et tous les caractères codés dans l’URL %xx en caractères uniques.
CondPattern est une expression régulière étendue standard avec quelques ajouts. La chaîne de modèle peut être précédée d’un préfixe "!". (point d’exclamation) pour spécifier un modèle qui ne correspond pas. Au lieu de chaînes d’expression régulière réelles, vous pouvez utiliser l’une des variantes spéciales suivantes.
Vous pouvez ajouter un point d’exclamation ('!') au préfixe de tous ces tests. pour nier leur sens.
Chaîne CondPattern
Description
'<CondPattern'
Est lexiquement moins.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexiquement inférieur à CondPattern .
'>CondPattern'
Est lexiquement plus grand.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexiquement supérieur à CondPattern .
'=CondPattern'
Est lexiquement égal.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexical égal à CondPattern , c'est-à-dire que les deux chaînes sont exactement égales (caractère par caractère). Si CondPattern est simplement "" (deux guillemets), il compare TestString à la chaîne vide.
Indicateurs (facultatif)
Les indicateurs sont placés entre crochets [] et plusieurs indicateurs sont séparés par des virgules :
Indicateur
Description
'nocase|NC'
Pas de cas.
Rend le test non sensible. En d'autres termes, il n'y a aucune différence entre "A-Z" et "a-z" dans la chaîne de test étendue et dans le modèle de console.
'ornext|OR'
Ou la condition suivante.
Utilisez cet indicateur pour combiner des conditions de règle avec un OU local au lieu du ET implicite. Sans cet indicateur, vous devrez écrire le cond/la règle plusieurs fois.
Exemple
Supposons que vous ayez un site Web d'entreprise avec un format de titre standard : "Ma société" suivie d’un trait d’union, puis d’une description spécifique à la page ("Ma société - Bienvenue" ou "Ma société - Nouvelles", par exemple). Vous voulez retirer "Mon Entreprise -" du titre et convertir le titre entier en lettres majuscules lorsqu'il indexe le site.
La règle de réécriture suivante utilise la fonction toupper pour réécrire uniquement la partie descriptive d’un titre en majuscules :
RewriteRule  ^My[[:blank:]]Company[[:blank:]]-[[:blank:]] 
<b>(.*)</b>$  ${toupper: 
<b>$1</b>}

Le modèle de la règle (^My[[:blank:]]Company[[:blank:]]-[[:blank:]] (.*)) contient une référence arrière (.*) qui correspond au contenu du titre qui suit "Mon entreprise-". N'oubliez pas que l'entourage d'une partie d'un modèle avec une parenthèse () crée une référence arrière qui peut être référencée par la substitution. Dans cet exemple, la substitution (${toupper: $1 }) réécrit cette référence arrière ( $1 ) à l’aide de la fonction toupper.
Ainsi, le titre du formulaire "Ma société - Bienvenue" est réécrit comme "BIENVENUE".
Remerciements
Le logiciel du moteur de réécriture a été développé à l'origine par le groupe Apache pour être utilisé dans le projet de serveur Apache HTTP (https://www.apache.org/).

Ajout de règles de titre d’analyse

Vous pouvez ajouter des règles de titre d’analyse pour indiquer comment les titres rencontrés dans le contenu Web sont réécrits avant d’être stockés dans l’index de recherche.
Pour ajouter des règles de titre d’analyse
  1. Dans le menu du produit, cliquez sur Settings > Rewrite Rules > Crawl Title Rules .
  2. Dans le Crawl Title Rules champ, entrez les règles de votre choix.
    Les lignes vierges et les lignes de commentaire commençant par le caractère "#" (hachage) sont autorisées.
  3. (Facultatif) Sur la Crawl Title Rules page, dans le Test Crawl Title Rules champ, saisissez une URL de test dont vous souhaitez tester les règles de recherche, puis cliquez sur Tester .
  4. Cliquez sur Enregistrer les modifications .
  5. (Facultatif) Recréez l’index du site d’évaluation si vous souhaitez prévisualiser les résultats.
  6. (Facultatif) Sur la Crawl Title Rules page, effectuez l’une des opérations suivantes :

A propos des règles d’URL de recherche

Les règles d’URL de recherche indiquent comment les URL des résultats de recherche de votre site Web doivent s’afficher. Les règles fonctionnent sur des URL complètes. N’importe quelle partie de l’URL peut être manipulée, y compris les arguments de requête dans lesquels les informations d’ID de session sont souvent conservées.
En règle générale, les règles d’URL de recherche sont utilisées pour insérer un ID de session dans une URL. Cependant, vous pouvez également utiliser les règles d’URL de recherche pour modifier le nom de domaine affiché avec vos résultats. Par défaut, aucune règle n’est spécifiée et aucune modification de l’URL n’est effectuée.
Les règles d’URL de recherche peuvent se composer de deux éléments principaux : RewriteRule et RewriteCond facultatif. Lorsqu’une URL est incluse dans le résultat d’une recherche, les règles sont utilisées pour la manipuler. Vous pouvez spécifier un nombre illimité de règles et de conditions d’URL de recherche. L’ordre de ces règles est important car le jeu de règles est bouclé par règle. Lorsqu’une règle correspond, le logiciel effectue une boucle dans toutes les conditions de réécriture correspondantes (facultatives). Les règles d’analyse d’URL sont spécifiées de la manière suivante :
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Lors du traitement d’une URL, la recherche/marchandisage sur le site tente de la faire correspondre au modèle de chaque règle de recherche. Si la correspondance échoue, le moteur de réécriture interrompt immédiatement le traitement de la règle et continue avec la règle suivante du jeu. Si le modèle correspond, le moteur de réécriture recherche les instructions RewriteCond correspondantes. S’il n’existe aucune condition, l’URL est remplacée par une nouvelle valeur. Cette valeur est construite à partir de la chaîne de substitution et se poursuit avec la règle suivante dans le jeu de règles. S’il existe des conditions, l’ordre dans lequel elles sont répertoriées est la manière dont elles sont traitées. Le moteur de réécriture tente de faire correspondre un modèle de condition (CondPattern) à une chaîne de test (TestString). Si les deux correspondent, la condition suivante est traitée jusqu’à ce qu’aucune autre condition ne soit disponible. Si toutes les conditions correspondent, l’URL est remplacée par la Substitution spécifiée dans la règle. Si la condition n’est pas remplie, l’ensemble complet des conditions et la règle correspondante échouent.

A propos de la directive RewriteRule

Une règle de réécriture se présente comme suit :
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Le modèle peut être une expression régulière POSIX, qui est appliquée à l’URL active. L’URL actuelle peut différer de l’URL d’origine, car des règles antérieures ont peut-être déjà mis en correspondance et modifié cette URL.
Voir Expressions régulières .
Vous pouvez utiliser le caractère "pas" ('!') pour préfixer le modèle. Le caractère "pas" vous permet de nier un modèle. En d’autres termes, elle n’est vraie que si l’URL active ne correspond PAS au modèle. Vous pouvez utiliser le caractère "pas" lorsqu’il est préférable de faire correspondre un modèle négatif ou comme règle par défaut finale. Notez que vous ne pouvez pas utiliser à la fois le caractère "pas" et les caractères génériques groupés dans un modèle. En outre, vous ne pouvez pas utiliser de modèle négatif lorsque la chaîne de substitution contient $N.
Vous pouvez utiliser des parenthèses pour créer une référence arrière, qui peut être référencée par Substitution et CondPattern.
Substitution L’URL est complètement remplacée par la chaîne de substitution, qui peut contenir les éléments suivants :
Texte ordinaire : texte transmis sans modification.
Références arrière Fournit un accès aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Il existe deux types de références arrière :
Réécrire les références arrière de la règle Ces références arrière correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
Réécriture des références arrière de Cond - Ces références arrière correspondent dans le dernier CondPattern RewriteCond correspondant et prennent la forme %N (0 <= N <= 9).
Fonctions : Il s’agit des fonctions du formulaire $ dont NAME_OF_FUNCTION est :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
  • l’URL d’échappement code tous les caractères de la clé .
  • Les caractères "a"...z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' et '_' ne sont pas modifiés ; les espaces sont traduits en "+"; tous les autres caractères sont transformés en leur équivalent codé URL %xx.
  • unescape transforme '+' en espace et tous les caractères codés dans l’URL %xx en caractères uniques.
Il existe une chaîne de substitution spéciale : "-", c'est-à-dire "PAS de substitution". La chaîne "-" est souvent utile en association avec l'indicateur C (chain). Il vous permet de faire correspondre une URL à plusieurs modèles avant qu’une substitution ne se produise.
Indicateurs (facultatif)
Les indicateurs sont placés entre crochets [] et plusieurs indicateurs sont séparés par des virgules :
Indicateur
Description
'last|L'
Dernière règle.
Arrêtez le processus de réécriture et n’appliquez aucune règle de réécriture supplémentaire. Utilisez cet indicateur pour empêcher tout traitement ultérieur de l’URL active.
'next|N'
Tour suivant.
Réexécutez le processus de réécriture (en commençant à nouveau par la première règle de réécriture) en utilisant l’URL de la dernière règle de réécriture (et non l’URL d’origine). Faites attention à ne pas créer une boucle morte !
'chain|C'
Enchaîné avec la règle suivante.
Cet indicateur enchaîne la règle actuelle à la règle suivante, qui peut également être liée à la règle suivante, etc. Si une règle correspond, le processus de substitution se poursuit comme d’habitude. Si la règle ne correspond pas, toutes les règles chaînées suivantes sont ignorées.
'nocase|NC'
Pas de cas.
Cet indicateur rend le modèle insensible à la casse. En d’autres termes, il n’y a aucune différence entre "A-Z" et "a-z" lorsque le modèle est mis en correspondance avec l’URL active.
'skip|S=num'
Ignorer la ou les règles suivantes.
Si la règle actuelle correspond, cet indicateur force le moteur de réécriture à ignorer les règles num suivantes dans le jeu de règles. Utilisez-le pour faire des constructions pseudo-alors-sinon. La dernière règle de la clause then-clause devient skip=N, où N est le nombre de règles de la clause else. (Remarque : Ce n'est pas la même chose que le drapeau 'chain|C' !)
'env|E=VAR:VAL'
Définissez une variable d’environnement.
Cet indicateur crée une variable d’environnement "VAR" définie sur la valeur VAL. VAL peut contenir des références arrière d’expressions régulières, $N et %N, qui sont développées. Vous pouvez utiliser cet indicateur plusieurs fois pour définir plusieurs variables. Les variables peuvent être ultérieurement déréférencées dans un modèle RewriteCond suivant via %{VAR}. Utilisez cet indicateur pour supprimer et mémoriser les informations des URL.
Notez que les règles de réécriture de magasin et les règles de récupération de réécriture partagent des valeurs de variable. C’est pourquoi vous pouvez définir une variable sur une valeur de sessionid sensible au temps lorsqu’une URL incorporée est rencontrée et stockée. Lorsque l’URL suivante est récupérée de la liste de stockage temporaire, la dernière valeur de sessionid peut être ajoutée avant que cette page ne soit récupérée.
Exemple
Supposons que vous ayez un serveur sensible à la casse. Il gère différemment les chaînes "www.mydomain.com" et "www.MyDomain.com". Pour que votre serveur fonctionne correctement, vous devez vous assurer que le domaine est toujours "www.mydomain.com", même si certains documents contiennent des liens faisant référence à "www.MyDomain.com". Pour ce faire, vous pouvez utiliser la règle suivante :
RewriteRule  ^https:// 
<b>([^/]*)</b> 
<i>(.*)</i>$  https://${tolower:$1}$2 

Cette règle de réécriture utilise la fonction "tolower" pour réécrire la partie domaine d’une URL afin de s’assurer qu’elle est toujours en minuscules :
  1. Le modèle (^https://([^/]*)(.*)$) contient une référence arrière ([^/]*) qui correspond à tous les caractères entre "https://" et le premier "/" de l’URL. Le modèle contient également une seconde référence arrière (.*) qui correspond à tous les caractères restants dans l’URL.
  2. La substitution (https://${tolower:$1}$2) demande au moteur de recherche de réécrire l'URL en utilisant la fonction Tolower sur la première référence arrière, (https://**${tolower:$1**}$2) laissant le reste de l'URL intact (https://${tolower:$1}*$2*) .
Par conséquent, une URL du formulaire https://www.MyDomain.com/INTRO/index.Html est réécrite en tant que https://www.mydomain.com/INTRO/index.Html
Directive RewriteCond (facultatif)
La directive RewriteCond définit une condition de règle. Lorsqu’un RewriteCond précède un RewriteRule, la règle n’est utilisée que si son modèle correspond au titre actuel et que les conditions supplémentaires s’appliquent.
Les directives de condition de réécriture se présentent comme suit :
RewriteCond  
<i>TestString CondPattern [Flags]</i>

TestString est une chaîne qui peut contenir les éléments suivants :
Texte brut : Texte transmis sans modification.
Les références arrière permettent d’accéder aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Il existe deux types de références arrière :
  • Références arrière RewriteRule Ces références arrière correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RéécrireCond Références inversées Ces références inversées correspondent dans le dernier CondPattern RewriteCond et prennent la forme %N (0 <= N <= 9).
Variables Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE peut être une chaîne pour le nom d’une variable définie. Pour plus d’informations sur la définition de variables, reportez-vous à l’indicateur RewriteRule [E] .
Les règles de réécriture utilisent généralement les variables. Tous les paramètres CGI de l’URL active sont automatiquement convertis en variables. Par exemple, l’URL de recherche "https://search.atomz.com/search/?sp_a=sp00000000&sp_q="Product"&session=1234&id=5678" fournit automatiquement quatre variables, qui peuvent être référencées dans les règles de réécriture. Dans cet exemple, une variable s’appelle "session" et sa valeur est "1234", tandis qu’une autre variable s’appelle "id" et sa valeur est "5678". (Les deux autres variables sont sp_a et sp_q .) Vous devez transmettre toutes les variables nécessaires sous forme de champs masqués à partir du formulaire de recherche de votre page Web. Dans cet exemple, vous devez transmettre les valeurs "session" et "id", qui identifient l'utilisateur du site Web qui effectue la recherche. Pour transmettre un champ masqué dans le formulaire de recherche, utilisez une balise telle que <input type=hidden name="session" value="1234"> .
Fonctions Il s’agit des fonctions du formulaire $ dont NAME_OF_FUNCTION est :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
  • l’URL d’échappement code tous les caractères de la clé . Les caractères "a"...z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' et '_' restent inchangés, les espaces sont traduits en '+' et tous les autres caractères sont convertis en leur équivalent codé URL %xx.
  • unescape transforme '+' en espace et tous les caractères d’encodage d’URL %xx en caractères uniques.
CondPattern est une expression régulière étendue standard avec quelques ajouts. La chaîne de modèle peut être précédée d’un préfixe "!". (point d’exclamation) pour spécifier un modèle qui ne correspond pas. Au lieu de chaînes d’expression régulière réelles, vous pouvez utiliser l’une des variantes spéciales suivantes.
Vous pouvez préfixer tous ces tests à l’aide d’un point d’exclamation ('!') pour nier leur sens.
Chaîne CondPattern
Description
'<CondPattern'
Est lexiquement moins.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexiquement inférieur à CondPattern .
'>CondPattern'
Est lexiquement plus grand.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexiquement supérieur à CondPattern .
'=CondPattern'
Est lexiquement égal.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexical égal à CondPattern . Autrement dit, les deux chaînes sont exactement égales (caractère par caractère). Si CondPattern est simplement "" (deux guillemets), il compare TestString à la chaîne vide.
Indicateurs (facultatif)
Les indicateurs sont placés entre crochets [] et plusieurs indicateurs sont séparés par des virgules :
'nocase|NC' (aucun cas) : Cela rend le test insensible à la casse. En d'autres termes, il n'y a aucune différence entre "A-Z" et "a-z" à la fois dans la chaîne de test étendue et dans le modèleCondPattern.
'ornext|OR' (ou condition suivante) : Utilisez-le pour combiner les conditions de règle avec un OU local au lieu du ET implicite. Sans cet indicateur, vous devrez écrire le cond/la règle plusieurs fois.
Exemple
Certaines pages Web attribuent une variable CGI "sessionid" à la première fois qu'un client arrive sur un site. Cette variable sert à identifier le client et, lorsque le client parcourt le site, elle est transmise. Comme le robot de recherche ressemble à un client sur votre site, un numéro "sessionid" lui est attribué. Le robot de recherche conserve cette valeur "sessionid" unique, même si une seconde page du site tente d’attribuer une nouvelle valeur. Pour ce faire, vous avez besoin de la règle de réécriture suivante :
RewriteCond  %{sessionid}  .+ 
RewriteRule  ^ 
<b>(.+)</b>sessionid=[^&#]+ 
<i>(.*)</i>$   
<b>$1</b>sessionid=%{sessionid} 
<i>$2</i>

Le modèle RewriteRule contient deux références arrière : (.+) et (.*). La première référence arrière correspond à tous les caractères précédant "sessionid=". La deuxième référence arrière correspond à tous les caractères après la fin de "&" ou "#" de l'ID de session.
Le modèle de substitution réécrit l’URL à l’aide de la première référence arrière, suivie de la chaîne "sessionid=", suivie de la valeur de la variable d’ID de session, transmise en tant que paramètre CGI dans l’URL, suivie de la seconde référence arrière. ($1sessionid=%{sessionid}$2) .
Le CondRéécriture examine la variable sessionid (%{sessionid}) . Si elle contient au moins un caractère (.+), alors la règle de réécriture correspond.
Ainsi, si la requête de recherche est "https://search.atomz.com/search/?sp_a=sp99999999&sp_q=word&sessionid=5678" , toutes les URL des résultats de recherche seront réécrites de sorte que la valeur "sessionid" soit "5678" au lieu de la valeur "sessionid" que le robot de recherche a rencontrée lorsqu'il a parcouru votre site et enregistré les liens.
Remerciements
Le logiciel du moteur de réécriture a été développé à l'origine par le groupe Apache pour être utilisé dans le projet de serveur Apache HTTP (https://www.apache.org/).

Ajout de règles d’URL de recherche

Vous pouvez ajouter des règles d’URL de recherche pour indiquer comment les URL des résultats de recherche de votre site Web s’affichent. Les règles fonctionnent sur des URL complètes. Vous pouvez manipuler n’importe quelle partie de l’URL, y compris les arguments de requête dans lesquels les informations d’ID de session sont souvent conservées.
Pour ajouter des règles d’URL de recherche
  1. Dans le menu du produit, cliquez sur Settings > Rewrite Rules > Search URL Rules .
  2. Dans le Search URL Rules champ, entrez les règles de votre choix.
    Les lignes vierges et les lignes de commentaire commençant par le caractère "#" (hachage) sont autorisées.
  3. (Facultatif) Sur la Search URL Rules page, dans le Test Search URL Rules champ, saisissez une URL de test dont vous souhaitez tester les règles d’analyse, puis cliquez sur Tester .
  4. Cliquez sur Enregistrer les modifications .
  5. (Facultatif) Recréez l’index du site d’évaluation si vous souhaitez prévisualiser les résultats.
  6. (Facultatif) Sur la Search URL Rules page, effectuez l’une des opérations suivantes :

A propos des règles de titre de recherche

Les règles de titre de recherche indiquent comment les titres des résultats de recherche de votre site Web sont affichés. N’importe quelle partie du titre peut être manipulée.
Une règle de réécriture peut être utilisée pour supprimer une partie d’un titre, tel qu’un nom d’organisation, par exemple. Par défaut, la recherche/marchandisage sur le site ne comporte aucune règle de titre et n’effectue aucune modification du titre.
Les règles de titre peuvent se composer de deux éléments principaux : RewriteRule et facultative RewriteCond. Un nombre illimité de règles et de conditions peut être spécifié. L’ordre de ces règles est important, car le jeu de règles est lu en boucle règle par règle. Lorsqu’une règle correspond, le logiciel effectue une boucle dans toutes les conditions de réécriture correspondantes (facultatives). Les règles de titre de recherche sont spécifiées de la manière suivante :
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i> 
 
RewriteCond  
<i>TestString CondPattern [Flags]</i> 
RewriteRule  
<i>Pattern Substitution [Flags]</i>

Lorsqu’un titre est rencontré, la recherche/marchandisage sur le site tente de le faire correspondre au modèle de chaque règle d’analyse. Si le modèle correspond, le moteur de réécriture recherche les directives RewriteCond correspondantes. Si aucune condition n’est présente, le titre est remplacé par une nouvelle valeur construite à partir de la chaîne de substitution et continue avec la règle suivante dans le jeu de règles. S’il existe des conditions, elles sont traitées dans l’ordre dans lequel elles sont répertoriées. Le moteur de réécriture tente de faire correspondre un modèle de condition (CondPattern) à une chaîne de test (TestString). Si les deux correspondent, la condition suivante est traitée jusqu’à ce qu’aucune autre condition ne soit disponible. Si toutes les conditions correspondent, l’URL est remplacée par la Substitution spécifiée dans la règle. Si la condition n’est pas remplie, l’ensemble complet des conditions et la règle correspondante échouent.

Directive RewriteRule

Chaque directive RewriteRule définit une règle de réécriture. Les règles sont appliquées dans l’ordre dans lequel elles sont répertoriées. Une règle de réécriture se présente comme suit :
RewriteRule Pattern Substitution [Flags]

Modèle Expression régulière POSIX, qui est appliquée au titre actuel. Le "titre actuel" peut différer du titre d’origine, car des règles antérieures peuvent déjà avoir été mises en correspondance et modifiées.
Voir Expressions régulières .
Vous pouvez utiliser le caractère "pas" ('!') pour préfixer le modèle. Le caractère "pas" vous permet de nier un modèle. C'est-à-dire, pour être vrai uniquement si le titre actuel ne correspond PAS au modèle. Le caractère "pas" peut être utilisé lorsqu’il est préférable de faire correspondre un modèle négatif ou comme règle par défaut finale. Remarque : Vous ne pouvez pas utiliser à la fois le caractère "pas" et les caractères génériques groupés dans un modèle. En outre, vous ne pouvez pas utiliser de modèle négatif lorsque la chaîne de substitution contient $N.
Vous pouvez utiliser des parenthèses pour créer une référence arrière, qui peut être référencée par Substitution et CondPattern.
Substitution Le titre est complètement remplacé par la chaîne de substitution, qui peut contenir les éléments suivants :
Texte brut : texte transmis sans modification.
Références secondaires Fournissez un accès aux parties regroupées (entre parenthèses internes) du modèle ou du modèle contextuel. Voici deux types de références arrière :
  • RéécrireRéférences de retour Ces références de retour correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • Références arrière RewriteCond Ces références arrière correspondent dans le dernier CondPattern RewriteCondPattern et prennent la forme %N (0 <= N <= 9).
Variables Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE peut être une chaîne pour le nom d’une variable définie. Voir l’indicateur # pour plus d’informations sur la définition de variables d’environnement. Les variables peuvent également être définies dans le formulaire de recherche qui a généré les résultats de la recherche.
Fonctions Il s’agit des fonctions du formulaire $ où NAME_OF_FUNCTION est :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
Il existe une chaîne de substitution spéciale : "-", c'est-à-dire "PAS de substitution". La chaîne "-" est souvent utile en association avec l’indicateur C (chain), ce qui vous permet de faire correspondre un titre à plusieurs modèles avant qu’une substitution ne se produise.
Indicateurs (facultatif)
Les indicateurs sont placés entre crochets [] et plusieurs indicateurs sont séparés par des virgules :
Indicateur
Description
'last|L'
Dernière règle.
Arrêtez le processus de réécriture et n’appliquez aucune règle de réécriture supplémentaire. Utilisez cet indicateur pour empêcher tout traitement ultérieur du titre actuel.
'next|N'
Tour suivant.
Réexécutez le processus de réécriture (en commençant à nouveau par la première règle de réécriture) en utilisant le titre de la dernière règle de réécriture (et non le titre d’origine !). Veillez à ne pas créer de boucle morte.
'chain|C'
Enchaîné avec la règle suivante.
Cet indicateur associe la règle actuelle à la règle suivante (qui peut également être liée à la règle suivante, etc.). Si une règle correspond, le processus de substitution se poursuit comme d’habitude. Si la règle ne correspond pas, toutes les règles chaînées suivantes sont ignorées.
'nocase|NC'
Pas de cas.
Cet indicateur rend le modèle insensible à la casse. En d'autres termes, il n'y a aucune différence entre "A-Z" et "a-z" lorsque le modèle est mis en correspondance avec le titre actuel.
'skip|S=num'
Ignorer la ou les règles suivantes.
Si la règle actuelle correspond, cet indicateur force le moteur de réécriture à ignorer les règles num suivantes dans le jeu de règles. Utilisez-le pour faire des constructions pseudo-alors-sinon. La dernière règle de la clause then-clause devient skip=N, où N est le nombre de règles de la clause else. (Ce n'est pas la même chose que le drapeau 'chain|C' !)
'env|E=VAR:VAL'
Définissez la variable d’environnement.
Cet indicateur crée une variable d’environnement "VAR" définie sur la valeur VAL, où VAL peut contenir des références arrière d’expressions régulières, $N et %N, qui seront développées. Vous pouvez utiliser cet indicateur plusieurs fois pour définir plusieurs variables. Les variables peuvent être référencées ultérieurement dans un modèle RewriteCond suivant via %{VAR}. Utilisez cet indicateur pour retirer et mémoriser les informations des titres.

Directive RewriteCond (facultatif)

La directive RewriteCond définit une condition de règle. Lorsqu’un RewriteCond précède un RewriteRule, la règle n’est utilisée que si son modèle correspond au titre actuel et que les conditions supplémentaires s’appliquent.
Les directives de condition de réécriture se présentent comme suit :
RewriteCond TestString CondPattern [Flags]

TestString est une chaîne qui peut contenir les éléments suivants :
Texte brut : texte transmis sans modification.
Les références arrière permettent d’accéder aux parties regroupées (entre parenthèses) du modèle ou du modèle de console. Il existe deux types de références arrière :
  • RéécrireRéférences de retour Ces références de retour correspondent dans le modèle RewriteRule correspondant et prennent la forme $N (0 <= N <= 9). Par exemple, RewriteRule ^My[[:blank:]] (.*)$ ${toupper: $1}
  • RéécrireCond Références inversées Ces références inversées correspondent dans le dernier CondPattern RewriteCond et prennent la forme %N (0 <= N <= 9).
Variables Il s’agit de variables sous la forme % dont NAME_OF_VARIABLE peut être une chaîne pour le nom d’une variable définie. Pour plus d’informations sur la définition de variables d’environnement, voir l’ [E] indicateur. Les variables peuvent également être définies dans le formulaire de recherche qui a généré les résultats de la recherche.
Fonctions Il s’agit des fonctions du formulaire $ dont NAME_OF_FUNCTION est :
  • tolower fait en minuscule tous les caractères de la touche .
  • toupper crée tous les caractères en majuscules de la clé .
  • l’URL d’échappement code tous les caractères de la clé .
  • Les caractères "a"...z', 'A'...Z', '0'...9', '*', '-', '.', '/', '@' et '_' restent inchangés, les espaces sont traduits en '+' et tous les autres caractères sont convertis en leur équivalent codé URL %xx.
  • unescape transforme '+' en espace et tous les caractères codés dans l’URL %xx en caractères uniques.
Il existe une chaîne de substitution spéciale : "-", c'est-à-dire "PAS de substitution". La chaîne "-" est souvent utile en association avec l’indicateur C (chain), ce qui vous permet de faire correspondre une URL à plusieurs modèles avant qu’une substitution ne se produise.
CondPattern Expression régulière étendue standard avec quelques ajouts. La chaîne de modèle peut être précédée d’un préfixe "!". (point d’exclamation) pour spécifier un modèle qui ne correspond pas. Au lieu de chaînes d’expression régulière réelles, vous pouvez utiliser l’une des variantes spéciales suivantes.
Tous ces tests peuvent également être précédés d'un point d'exclamation ('!') pour nier leur sens.
Chaîne CondPattern
Description
'<CondPattern'
Est lexiquement moins.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexiquement inférieur à CondPattern .
'>CondPattern'
Est lexiquement plus grand.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexiquement supérieur à CondPattern .
'=CondPattern'
Est lexiquement égal.
Traite le paramètre CondPattern comme une chaîne ordinaire et le compare lexiquement à TestString . True si TestString est lexical égal à CondPattern . Autrement dit, les deux chaînes sont exactement égales (caractère par caractère). Si CondPattern est simplement "" (deux guillemets), il compare TestString à la chaîne vide.
Indicateurs (facultatif)
Les indicateurs sont placés entre crochets [] et plusieurs indicateurs sont séparés par des virgules :
Indicateur
Description
'nocase|NC' (aucun cas)
Rend le test non sensible. En d'autres termes, il n'y a aucune différence entre "A-Z" et "a-z" dans la chaîne de test étendue et dans le modèleCondPattern.
'ornext|OR' (ou condition suivante)
Utilisez-le pour combiner les conditions de règle avec un OU local au lieu du ET implicite. Sans cet indicateur, vous devrez écrire le cond/la règle plusieurs fois.

Exemple

Supposons que vous ayez un site Web d'entreprise avec un format de titre standard : "Ma société" suivie d’un trait d’union, puis d’une description spécifique à la page ("Ma société - Bienvenue" ou "Ma société - Nouvelles", par exemple). Vous voulez retirer "Mon Entreprise -" du titre et convertir tout le titre en lettres majuscules lorsqu'il indexe le site.
La règle de réécriture suivante utilise la fonction toupper pour réécrire uniquement la partie descriptive d’un titre en majuscules :
RewriteRule  ^My[[:blank:]]Company[[:blank:]]-[[:blank:]] 
<b>(.*)</b>$  ${toupper: 
<b>$1</b>} 

Le modèle de la règle (^My[[:blank:]]Company[[:blank:]]-[[:blank:]] (.*)) contient une référence arrière (.*) qui correspond au contenu du titre qui suit "Mon entreprise-". N'oubliez pas que l'entourage d'une partie d'un modèle avec une parenthèse () crée une référence arrière qui peut être référencée par la substitution. Dans cet exemple, la substitution (${toupper: $1 }) réécrit cette référence arrière ( $1 ) à l’aide de la fonction toupper.
Ainsi, le titre du formulaire "Ma société - Bienvenue" est réécrit comme "BIENVENUE".
Remerciements
Le logiciel du moteur de réécriture a été développé à l'origine par le groupe Apache pour être utilisé dans le projet de serveur Apache HTTP (https://www.apache.org/).

Ajout de règles de titre de recherche

Vous pouvez ajouter des règles de titre de recherche pour indiquer le mode d’affichage des titres dans les résultats de recherche sur votre site Web. Vous pouvez manipuler n’importe quelle partie du titre.
Pour ajouter des règles de titre de recherche
  1. Dans le menu du produit, cliquez sur Settings > Rewrite Rules > Search Title Rules .
  2. Dans le Search Title Rules champ, entrez les règles de votre choix.
    Les lignes vierges et les lignes de commentaire commençant par le caractère "#" (hachage) sont autorisées.
  3. (Facultatif) Sur la Search Title Rules page, dans le Test Search Title Rules champ, saisissez un titre de test, puis cliquez sur Test .
  4. Cliquez sur Enregistrer les modifications .
  5. (Facultatif) Recréez l’index du site d’évaluation si vous souhaitez prévisualiser les résultats.
  6. (Facultatif) Sur la Search Title Rules page, effectuez l’une des opérations suivantes :