nombre après 1 $ en urlrewrite

J’ai besoin de mettre des nombres dans une url résultante dans la règle urlrewrite, donc à partir de l’URL comme “/ test / 723 /” Je vais “/ test / 700-series / 723 /” Evidemment ceci

RewriteRule ^/test/([1-9])([0-9]{2})/$ /test/$100-series/$1$2/ 

ne fonctionne pas parce que 100 $ ne peuvent pas être interprétés correctement. Y a-t-il un moyen de séparer 1 $ de tout nombre derrière lui?

Vous êtes assez proche, supprimez simplement la barre oblique:

 RewriteRule ^test/([1-9])([0-9]{2})/?$ /test/$100-series/$1$2/ [L] 
  • .htaccess est par directive de répertoire et Apache supprime le chemin de répertoire actuel (entraînant ainsi une barre oblique) du modèle d’URI RewriteRule .

Selon le document officiel Apache, il est clairement indiqué que:

RewriteRule backreferences : Il s’agit des backreferences de la forme $ N (0 <= N <= 9). $ 1 à $ 9 donnent accès aux parties groupées (entre parenthèses) du motif, à partir de la règle Rewrite qui est soumise à l'ensemble actuel des conditions RewriteCond. $ 0 donne accès à la chaîne entière correspondant à ce modèle.

Hence $100 is always interpreted as $1 and 2 literal zeroes.